Files and folders used by SuperMemo

These are the files used by a typical SuperMemo installation:

SuperMemo folder - usually c:\sm8, c:\sm98, c:\sm99, c:\sm2000, etc.

  • sm2000.exe - the program: SuperMemo 2000
  • bin - some working files used by SuperMemo
    • supermemo.ini - text file with some parameter settings used by SuperMemo. You can modify this file manually. Please do it with caution and make a back-up before introducing any changes
    • layout.ini - layouts used by SuperMemo. 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). If you download shorthelp.chm, you should rename it to smhelp.chm (if you want SuperMemo to use it as a substitute for the full help file). You can download smhelp.chm from here
    • sm7imprt.exe - optional program that is needed when importing collections from SuperMemo 6 for DOS or from SuperMemo 7 for Windows
  • systems - default folder for keeping collections used by SuperMemo
    • <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
      • collection.ini - text file with some parameters used by the collection. You can modify this file manually. Please do it with caution and make a back-up before introducing any changes
      • 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
        • reps.dat - repetition history of all individual elements. This file is optional and you can remove it with File : Tools : Reset parameters : Repetition history
        • burden.dat - file with the number of repetition planned for each day and the pointer to the first item on the repetition list for each day (this pointer points to elinfo.dat in which each element keeps the pointer to the next element belonging to the repetition list). You can easily find all your collections by searching for all burden.dat files. Additionally, you can see which of those collections are subject to learning as this file is zero-sized before the learning process begins
        • intact.dat - element subset file with all pending elements in the order as they appear in the pending queue
        • sm8opt.dat - optimization data record file used by the Algorithm-SM8. Read more about this record 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)
        • history.dat - element subset file with the last fifty most recently visited elements. You can always delete this file manually
      • registry - registries used by the collection (except translation and transcription registries; see below)
        • text.* - text registry files
          • text.inf - information about all registry members stored in the text registry (e.g. number of using elements, pointer to the text.reg 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 element using all individual text registry members
          • text.ptr - registry subset storing the sorted subset of all members in the text registry
          • text.reg - all text registry members. You can view this file in any file editor. If you opt for editing this file (very dangerous!), never change the length of individual records. This would destroy the integrity of the text registry. You can search for text.reg 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 *.reg instead). Note also that some HTML texts may be imported via frames and will not be included in the text registry
          • text.rtf - rich texts used by the text registry in one 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.reg 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 video, sound, images, html, 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 Import 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)
      • reports - text files with reports generated by SuperMemo (e.g. recovery report, translation import report, transfer 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
      • 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 Recorder on the sound component's pop-up menu)
  • plans - collection of text files used by Tools : Plan
  • help - SuperMemo help in 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 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
  • alg - plug-in algorithm DLLs and accompanying files

Most important fields of the KNO file

  • Total,Memorized:longint; - the number of undeleted elements in the collection and the number of memorized elements

  • AllocatedFileSpaceSlots:longint; - number of slots allocated for files in the elements folder

  • 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, collection version, etc.

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


Frequently Asked Questions


Your collection can suddenly appear empty!
With luck, you can recover from "empty backup"!
Backing up Advanced English


(Marcin Piekarniak, Poland, 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:
You can backup the learning process only. This way only the data pertaining to items in the learning process will be stored (not items themselves). Use File : Tools : Export : Learning process to export the data. Later, upon reinstalling Advanced English 97, you can restore the learning process with File : Tools : Import : Learning process. See: Backup


(Michael Duggan, Canada, 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 always recommended to 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 (see: Files used by SuperMemo).
Some customers also fall victim of the following scenario:

  1. user moves the whole SuperMemo folder to a new location using Windows tools
  2. user starts sm2000.exe 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. User responds with Yes
  6. SuperMemo creates empty files with the old name
  7. User is convinced he lost his data while intact collections 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


(Przemek S, Poland, 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 just 20KB of data! 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. burden.dat or sm8opt.dat). Make an inventory of all kno files (search for *.kno) and all SuperMemo collection folders (search for burden.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 on one of these files will restore the lost backup. Note that you can easily find empty collections by checking the size of burden.dat. This file contains repetitions and is zero-sized on collections with no learning process


(Richard D, USA, 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 which is just 20KB of data! 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.reg on all your hard disks (including backup drives, networks and CDRs)
    4. Sort text.reg files by size (the more work you put in the collection, the larger the file)
    5. You can view the content of text.reg and see if it corresponds with the material you put into your collection
    6. If you do not file the folder with the matching text.reg, 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.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

If you run into trouble in Step 4 (i.e. your collection does not recover properly), send this collection in the state from before the recovery to bugs(AT)supermemo(.)com


Disappearing material (#6428)
(hojinil, South Korea, 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. 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

1.3.1