Why do old computers perform a long memory test on every boot?

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP











up vote
1
down vote

favorite












Basically any computers from the mid 90s and earlier perform a slow memory check on every single boot. The more memory there is present, the slower that process becomes, for example: https://www.youtube.com/watch?v=A3Po8zneaLE



Why are they doing that? Modern computers, as far as I am aware of, only check their memory when explicitly told to. What exactly are retro computers doing during that check that more modern computers seem to not do and why?










share|improve this question







New contributor




Andreas Hartmann is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.























    up vote
    1
    down vote

    favorite












    Basically any computers from the mid 90s and earlier perform a slow memory check on every single boot. The more memory there is present, the slower that process becomes, for example: https://www.youtube.com/watch?v=A3Po8zneaLE



    Why are they doing that? Modern computers, as far as I am aware of, only check their memory when explicitly told to. What exactly are retro computers doing during that check that more modern computers seem to not do and why?










    share|improve this question







    New contributor




    Andreas Hartmann is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.





















      up vote
      1
      down vote

      favorite









      up vote
      1
      down vote

      favorite











      Basically any computers from the mid 90s and earlier perform a slow memory check on every single boot. The more memory there is present, the slower that process becomes, for example: https://www.youtube.com/watch?v=A3Po8zneaLE



      Why are they doing that? Modern computers, as far as I am aware of, only check their memory when explicitly told to. What exactly are retro computers doing during that check that more modern computers seem to not do and why?










      share|improve this question







      New contributor




      Andreas Hartmann is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      Basically any computers from the mid 90s and earlier perform a slow memory check on every single boot. The more memory there is present, the slower that process becomes, for example: https://www.youtube.com/watch?v=A3Po8zneaLE



      Why are they doing that? Modern computers, as far as I am aware of, only check their memory when explicitly told to. What exactly are retro computers doing during that check that more modern computers seem to not do and why?







      hardware memory boot






      share|improve this question







      New contributor




      Andreas Hartmann is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      share|improve this question







      New contributor




      Andreas Hartmann is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      share|improve this question




      share|improve this question






      New contributor




      Andreas Hartmann is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked 3 hours ago









      Andreas Hartmann

      1084




      1084




      New contributor




      Andreas Hartmann is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      Andreas Hartmann is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      Andreas Hartmann is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.




















          1 Answer
          1






          active

          oldest

          votes

















          up vote
          3
          down vote



          accepted











          Why are they doing that?




          Most important reaeon here is that IBM introduced that check as part of the BIOS startup code, so everyone copied it to be compatible.



          The PC did differ from many other machines of the same time, that it did a thruout test of all components installed at power up to make sure the configuration is operable. Something carried over from mainframes or alike professional systems. Other machines just initialized components and let the user guess whats wrong when an error occured.




          Modern computers, as far as I am aware of, only check their memory when explicitly told to.




          RAMs got more reliable over the years. Equally important, RAM-size increased manyfold, making a thruout memory test anything but quick. Last but not least, memory design for PCs did split in the (late) 90s between consumer PC with error detection (like the first PC) and professional machines with error correction (ECC). Where consumer grade machines just let the process/OS die on the USER, Professional systems will not only correct starting RAM failure, but also report it which (hopefuly) leads to preemptive RAM change.




          What exactly are retro computers doing during that check that more modern computers seem to not do




          Variaous bit patterns are written to RAM and read agin to detect cell failure or certain kinds of cross over. The test is split in two parts, Base RAM (first 16/64 KiB, *1,2) and memory above 64 KiB. On AT (286+) class machines a third (faster) test may be used for memory above 1 MiB (*3) together with an additional test in protected mode and even more divergeing POST codes.



          In conventional memory (up to 1 MiB ,*4) is checked in 4 KiB blocks (*5) and reported as such. The BIOS halts if there is an error in the first 16 KiB (original PC) or first 64 KiB (XT and above).



          The bit pattern used (*6) for the first 64 KiB is AA, 55, 00, FF, 01, 02, 04, 08, 10, 20, 40, 80 They are written (and read) in a way to not only detect single bit failiures, but also address and data line missmatch/failiure.



          For the remaining memory it is shortened to AA, 55 , FF, 00 and 01.



          (Here is a nice explanation of basic bit walking and increment tests similar to what the PC does/did and what it will show)




          and why?




          To alarm its user of an immanent RAM problem before it occures during work and he may loose hours of work due a flipped bit.




          *1 - 16 KiB on the first series of 5150 PCs (64 Kib Motherboard), 64KiB on the later (256 KiB motherboard and XT)



          *2 - On the XT there is a seperate BIOS POST code for the first 32 KiB.



          *3 - The beep codes do not distinguish between above 64 KiB and above 1 MiB)



          *4 - Well, in reality on the early PCs only until 544 KiB, while later would go unitl 640.



          *5 - Looks like a hint as if they expected 4 KiB chips to be used - at least during early development stage - or that test was copied from some other device using them.



          *6 - Caveat: Bit paterns are taken from an old mans memory, to verify browsing the BIOS would be helpful.






          share|improve this answer


















          • 2




            Wasn't it also in some cases to check total amount of memory? A lot of retro computers didn't have any place to save that information until next start.
            – UncleBod
            2 hours ago






          • 1




            @UncleBod Other computers did, but not for the (original) PC, as it's memory size was set by switches. One switch (group) noted what banks are filled and another group the amount of RAM inserted. The BIOS was ment to obey these setings, not search for themself.
            – Raffzahn
            2 hours ago







          • 1




            Thank you for this comprehensive answer.
            – Andreas Hartmann
            1 hour ago










          • @AndreasHartmann Maybe check this additional page: esacademy.com/en/library/technical-articles-and-documents/…
            – Raffzahn
            34 mins ago










          Your Answer







          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "648"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          convertImagesToLinks: false,
          noModals: false,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          noCode: true, onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );






          Andreas Hartmann is a new contributor. Be nice, and check out our Code of Conduct.









           

          draft saved


          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fretrocomputing.stackexchange.com%2fquestions%2f7870%2fwhy-do-old-computers-perform-a-long-memory-test-on-every-boot%23new-answer', 'question_page');

          );

          Post as a guest






























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          up vote
          3
          down vote



          accepted











          Why are they doing that?




          Most important reaeon here is that IBM introduced that check as part of the BIOS startup code, so everyone copied it to be compatible.



          The PC did differ from many other machines of the same time, that it did a thruout test of all components installed at power up to make sure the configuration is operable. Something carried over from mainframes or alike professional systems. Other machines just initialized components and let the user guess whats wrong when an error occured.




          Modern computers, as far as I am aware of, only check their memory when explicitly told to.




          RAMs got more reliable over the years. Equally important, RAM-size increased manyfold, making a thruout memory test anything but quick. Last but not least, memory design for PCs did split in the (late) 90s between consumer PC with error detection (like the first PC) and professional machines with error correction (ECC). Where consumer grade machines just let the process/OS die on the USER, Professional systems will not only correct starting RAM failure, but also report it which (hopefuly) leads to preemptive RAM change.




          What exactly are retro computers doing during that check that more modern computers seem to not do




          Variaous bit patterns are written to RAM and read agin to detect cell failure or certain kinds of cross over. The test is split in two parts, Base RAM (first 16/64 KiB, *1,2) and memory above 64 KiB. On AT (286+) class machines a third (faster) test may be used for memory above 1 MiB (*3) together with an additional test in protected mode and even more divergeing POST codes.



          In conventional memory (up to 1 MiB ,*4) is checked in 4 KiB blocks (*5) and reported as such. The BIOS halts if there is an error in the first 16 KiB (original PC) or first 64 KiB (XT and above).



          The bit pattern used (*6) for the first 64 KiB is AA, 55, 00, FF, 01, 02, 04, 08, 10, 20, 40, 80 They are written (and read) in a way to not only detect single bit failiures, but also address and data line missmatch/failiure.



          For the remaining memory it is shortened to AA, 55 , FF, 00 and 01.



          (Here is a nice explanation of basic bit walking and increment tests similar to what the PC does/did and what it will show)




          and why?




          To alarm its user of an immanent RAM problem before it occures during work and he may loose hours of work due a flipped bit.




          *1 - 16 KiB on the first series of 5150 PCs (64 Kib Motherboard), 64KiB on the later (256 KiB motherboard and XT)



          *2 - On the XT there is a seperate BIOS POST code for the first 32 KiB.



          *3 - The beep codes do not distinguish between above 64 KiB and above 1 MiB)



          *4 - Well, in reality on the early PCs only until 544 KiB, while later would go unitl 640.



          *5 - Looks like a hint as if they expected 4 KiB chips to be used - at least during early development stage - or that test was copied from some other device using them.



          *6 - Caveat: Bit paterns are taken from an old mans memory, to verify browsing the BIOS would be helpful.






          share|improve this answer


















          • 2




            Wasn't it also in some cases to check total amount of memory? A lot of retro computers didn't have any place to save that information until next start.
            – UncleBod
            2 hours ago






          • 1




            @UncleBod Other computers did, but not for the (original) PC, as it's memory size was set by switches. One switch (group) noted what banks are filled and another group the amount of RAM inserted. The BIOS was ment to obey these setings, not search for themself.
            – Raffzahn
            2 hours ago







          • 1




            Thank you for this comprehensive answer.
            – Andreas Hartmann
            1 hour ago










          • @AndreasHartmann Maybe check this additional page: esacademy.com/en/library/technical-articles-and-documents/…
            – Raffzahn
            34 mins ago














          up vote
          3
          down vote



          accepted











          Why are they doing that?




          Most important reaeon here is that IBM introduced that check as part of the BIOS startup code, so everyone copied it to be compatible.



          The PC did differ from many other machines of the same time, that it did a thruout test of all components installed at power up to make sure the configuration is operable. Something carried over from mainframes or alike professional systems. Other machines just initialized components and let the user guess whats wrong when an error occured.




          Modern computers, as far as I am aware of, only check their memory when explicitly told to.




          RAMs got more reliable over the years. Equally important, RAM-size increased manyfold, making a thruout memory test anything but quick. Last but not least, memory design for PCs did split in the (late) 90s between consumer PC with error detection (like the first PC) and professional machines with error correction (ECC). Where consumer grade machines just let the process/OS die on the USER, Professional systems will not only correct starting RAM failure, but also report it which (hopefuly) leads to preemptive RAM change.




          What exactly are retro computers doing during that check that more modern computers seem to not do




          Variaous bit patterns are written to RAM and read agin to detect cell failure or certain kinds of cross over. The test is split in two parts, Base RAM (first 16/64 KiB, *1,2) and memory above 64 KiB. On AT (286+) class machines a third (faster) test may be used for memory above 1 MiB (*3) together with an additional test in protected mode and even more divergeing POST codes.



          In conventional memory (up to 1 MiB ,*4) is checked in 4 KiB blocks (*5) and reported as such. The BIOS halts if there is an error in the first 16 KiB (original PC) or first 64 KiB (XT and above).



          The bit pattern used (*6) for the first 64 KiB is AA, 55, 00, FF, 01, 02, 04, 08, 10, 20, 40, 80 They are written (and read) in a way to not only detect single bit failiures, but also address and data line missmatch/failiure.



          For the remaining memory it is shortened to AA, 55 , FF, 00 and 01.



          (Here is a nice explanation of basic bit walking and increment tests similar to what the PC does/did and what it will show)




          and why?




          To alarm its user of an immanent RAM problem before it occures during work and he may loose hours of work due a flipped bit.




          *1 - 16 KiB on the first series of 5150 PCs (64 Kib Motherboard), 64KiB on the later (256 KiB motherboard and XT)



          *2 - On the XT there is a seperate BIOS POST code for the first 32 KiB.



          *3 - The beep codes do not distinguish between above 64 KiB and above 1 MiB)



          *4 - Well, in reality on the early PCs only until 544 KiB, while later would go unitl 640.



          *5 - Looks like a hint as if they expected 4 KiB chips to be used - at least during early development stage - or that test was copied from some other device using them.



          *6 - Caveat: Bit paterns are taken from an old mans memory, to verify browsing the BIOS would be helpful.






          share|improve this answer


















          • 2




            Wasn't it also in some cases to check total amount of memory? A lot of retro computers didn't have any place to save that information until next start.
            – UncleBod
            2 hours ago






          • 1




            @UncleBod Other computers did, but not for the (original) PC, as it's memory size was set by switches. One switch (group) noted what banks are filled and another group the amount of RAM inserted. The BIOS was ment to obey these setings, not search for themself.
            – Raffzahn
            2 hours ago







          • 1




            Thank you for this comprehensive answer.
            – Andreas Hartmann
            1 hour ago










          • @AndreasHartmann Maybe check this additional page: esacademy.com/en/library/technical-articles-and-documents/…
            – Raffzahn
            34 mins ago












          up vote
          3
          down vote



          accepted







          up vote
          3
          down vote



          accepted







          Why are they doing that?




          Most important reaeon here is that IBM introduced that check as part of the BIOS startup code, so everyone copied it to be compatible.



          The PC did differ from many other machines of the same time, that it did a thruout test of all components installed at power up to make sure the configuration is operable. Something carried over from mainframes or alike professional systems. Other machines just initialized components and let the user guess whats wrong when an error occured.




          Modern computers, as far as I am aware of, only check their memory when explicitly told to.




          RAMs got more reliable over the years. Equally important, RAM-size increased manyfold, making a thruout memory test anything but quick. Last but not least, memory design for PCs did split in the (late) 90s between consumer PC with error detection (like the first PC) and professional machines with error correction (ECC). Where consumer grade machines just let the process/OS die on the USER, Professional systems will not only correct starting RAM failure, but also report it which (hopefuly) leads to preemptive RAM change.




          What exactly are retro computers doing during that check that more modern computers seem to not do




          Variaous bit patterns are written to RAM and read agin to detect cell failure or certain kinds of cross over. The test is split in two parts, Base RAM (first 16/64 KiB, *1,2) and memory above 64 KiB. On AT (286+) class machines a third (faster) test may be used for memory above 1 MiB (*3) together with an additional test in protected mode and even more divergeing POST codes.



          In conventional memory (up to 1 MiB ,*4) is checked in 4 KiB blocks (*5) and reported as such. The BIOS halts if there is an error in the first 16 KiB (original PC) or first 64 KiB (XT and above).



          The bit pattern used (*6) for the first 64 KiB is AA, 55, 00, FF, 01, 02, 04, 08, 10, 20, 40, 80 They are written (and read) in a way to not only detect single bit failiures, but also address and data line missmatch/failiure.



          For the remaining memory it is shortened to AA, 55 , FF, 00 and 01.



          (Here is a nice explanation of basic bit walking and increment tests similar to what the PC does/did and what it will show)




          and why?




          To alarm its user of an immanent RAM problem before it occures during work and he may loose hours of work due a flipped bit.




          *1 - 16 KiB on the first series of 5150 PCs (64 Kib Motherboard), 64KiB on the later (256 KiB motherboard and XT)



          *2 - On the XT there is a seperate BIOS POST code for the first 32 KiB.



          *3 - The beep codes do not distinguish between above 64 KiB and above 1 MiB)



          *4 - Well, in reality on the early PCs only until 544 KiB, while later would go unitl 640.



          *5 - Looks like a hint as if they expected 4 KiB chips to be used - at least during early development stage - or that test was copied from some other device using them.



          *6 - Caveat: Bit paterns are taken from an old mans memory, to verify browsing the BIOS would be helpful.






          share|improve this answer















          Why are they doing that?




          Most important reaeon here is that IBM introduced that check as part of the BIOS startup code, so everyone copied it to be compatible.



          The PC did differ from many other machines of the same time, that it did a thruout test of all components installed at power up to make sure the configuration is operable. Something carried over from mainframes or alike professional systems. Other machines just initialized components and let the user guess whats wrong when an error occured.




          Modern computers, as far as I am aware of, only check their memory when explicitly told to.




          RAMs got more reliable over the years. Equally important, RAM-size increased manyfold, making a thruout memory test anything but quick. Last but not least, memory design for PCs did split in the (late) 90s between consumer PC with error detection (like the first PC) and professional machines with error correction (ECC). Where consumer grade machines just let the process/OS die on the USER, Professional systems will not only correct starting RAM failure, but also report it which (hopefuly) leads to preemptive RAM change.




          What exactly are retro computers doing during that check that more modern computers seem to not do




          Variaous bit patterns are written to RAM and read agin to detect cell failure or certain kinds of cross over. The test is split in two parts, Base RAM (first 16/64 KiB, *1,2) and memory above 64 KiB. On AT (286+) class machines a third (faster) test may be used for memory above 1 MiB (*3) together with an additional test in protected mode and even more divergeing POST codes.



          In conventional memory (up to 1 MiB ,*4) is checked in 4 KiB blocks (*5) and reported as such. The BIOS halts if there is an error in the first 16 KiB (original PC) or first 64 KiB (XT and above).



          The bit pattern used (*6) for the first 64 KiB is AA, 55, 00, FF, 01, 02, 04, 08, 10, 20, 40, 80 They are written (and read) in a way to not only detect single bit failiures, but also address and data line missmatch/failiure.



          For the remaining memory it is shortened to AA, 55 , FF, 00 and 01.



          (Here is a nice explanation of basic bit walking and increment tests similar to what the PC does/did and what it will show)




          and why?




          To alarm its user of an immanent RAM problem before it occures during work and he may loose hours of work due a flipped bit.




          *1 - 16 KiB on the first series of 5150 PCs (64 Kib Motherboard), 64KiB on the later (256 KiB motherboard and XT)



          *2 - On the XT there is a seperate BIOS POST code for the first 32 KiB.



          *3 - The beep codes do not distinguish between above 64 KiB and above 1 MiB)



          *4 - Well, in reality on the early PCs only until 544 KiB, while later would go unitl 640.



          *5 - Looks like a hint as if they expected 4 KiB chips to be used - at least during early development stage - or that test was copied from some other device using them.



          *6 - Caveat: Bit paterns are taken from an old mans memory, to verify browsing the BIOS would be helpful.







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited 37 mins ago

























          answered 2 hours ago









          Raffzahn

          36.9k481147




          36.9k481147







          • 2




            Wasn't it also in some cases to check total amount of memory? A lot of retro computers didn't have any place to save that information until next start.
            – UncleBod
            2 hours ago






          • 1




            @UncleBod Other computers did, but not for the (original) PC, as it's memory size was set by switches. One switch (group) noted what banks are filled and another group the amount of RAM inserted. The BIOS was ment to obey these setings, not search for themself.
            – Raffzahn
            2 hours ago







          • 1




            Thank you for this comprehensive answer.
            – Andreas Hartmann
            1 hour ago










          • @AndreasHartmann Maybe check this additional page: esacademy.com/en/library/technical-articles-and-documents/…
            – Raffzahn
            34 mins ago












          • 2




            Wasn't it also in some cases to check total amount of memory? A lot of retro computers didn't have any place to save that information until next start.
            – UncleBod
            2 hours ago






          • 1




            @UncleBod Other computers did, but not for the (original) PC, as it's memory size was set by switches. One switch (group) noted what banks are filled and another group the amount of RAM inserted. The BIOS was ment to obey these setings, not search for themself.
            – Raffzahn
            2 hours ago







          • 1




            Thank you for this comprehensive answer.
            – Andreas Hartmann
            1 hour ago










          • @AndreasHartmann Maybe check this additional page: esacademy.com/en/library/technical-articles-and-documents/…
            – Raffzahn
            34 mins ago







          2




          2




          Wasn't it also in some cases to check total amount of memory? A lot of retro computers didn't have any place to save that information until next start.
          – UncleBod
          2 hours ago




          Wasn't it also in some cases to check total amount of memory? A lot of retro computers didn't have any place to save that information until next start.
          – UncleBod
          2 hours ago




          1




          1




          @UncleBod Other computers did, but not for the (original) PC, as it's memory size was set by switches. One switch (group) noted what banks are filled and another group the amount of RAM inserted. The BIOS was ment to obey these setings, not search for themself.
          – Raffzahn
          2 hours ago





          @UncleBod Other computers did, but not for the (original) PC, as it's memory size was set by switches. One switch (group) noted what banks are filled and another group the amount of RAM inserted. The BIOS was ment to obey these setings, not search for themself.
          – Raffzahn
          2 hours ago





          1




          1




          Thank you for this comprehensive answer.
          – Andreas Hartmann
          1 hour ago




          Thank you for this comprehensive answer.
          – Andreas Hartmann
          1 hour ago












          @AndreasHartmann Maybe check this additional page: esacademy.com/en/library/technical-articles-and-documents/…
          – Raffzahn
          34 mins ago




          @AndreasHartmann Maybe check this additional page: esacademy.com/en/library/technical-articles-and-documents/…
          – Raffzahn
          34 mins ago










          Andreas Hartmann is a new contributor. Be nice, and check out our Code of Conduct.









           

          draft saved


          draft discarded


















          Andreas Hartmann is a new contributor. Be nice, and check out our Code of Conduct.












          Andreas Hartmann is a new contributor. Be nice, and check out our Code of Conduct.











          Andreas Hartmann is a new contributor. Be nice, and check out our Code of Conduct.













           


          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fretrocomputing.stackexchange.com%2fquestions%2f7870%2fwhy-do-old-computers-perform-a-long-memory-test-on-every-boot%23new-answer', 'question_page');

          );

          Post as a guest













































































          Comments

          Popular posts from this blog

          Is the Concept of Multiple Fantasy Races Scientifically Flawed? [closed]

          Long meetings (6-7 hours a day): Being “babysat” by supervisor

          Confectionery