{"id":401,"date":"2018-11-25T11:53:40","date_gmt":"2018-11-25T18:53:40","guid":{"rendered":"https:\/\/www.karlstechnology.com\/blog\/?p=401"},"modified":"2019-05-26T00:00:28","modified_gmt":"2019-05-26T07:00:28","slug":"hard-drive-error-correcting-code-ecc","status":"publish","type":"post","link":"https:\/\/www.karlstechnology.com\/blog\/hard-drive-error-correcting-code-ecc\/","title":{"rendered":"Hard Drive Error Correcting Code (ECC)"},"content":{"rendered":"\n<p>The basis of all error detection and correction in hard disks is the inclusion of redundant information and special hardware or software to use it. Each sector of data on the hard disk contains 512 bytes, or 4,096 bits, of user data. In addition to these bits, an additional number of bits are added to each sector for the implementation of\u00a0<em><a href=\"https:\/\/en.wikipedia.org\/wiki\/Error_correction_code\">error correcting code<\/a><\/em>\u00a0or\u00a0<em>ECC<\/em>\u00a0(sometimes also called\u00a0<em>error correction code<\/em>\u00a0or\u00a0<em>error correcting circuits<\/em>). These bits do not contain data; rather, they contain information about the data that can be used to correct any problems encountered trying to access the real data bits.<\/p>\n\n\n\n<p>There are several different types of error correcting codes that have been invented over the years, but the type commonly used on PCs is the\u00a0<em>Reed-Solomon<\/em>\u00a0algorithm, named for researchers Irving Reed and Gustave Solomon, who first discovered the general technique that the algorithm employs. Reed-Solomon codes are widely used for error detection and correction in various computing and communications media, including magnetic storage, optical storage, high-speed modems, and data transmission channels. They have been chosen because they are easier to decode than most other similar codes, can detect (and correct) large numbers of missing bits of data, and require the least number of extra ECC bits for a given number of data bits.\u00a0Look in the memory section for much more general information on error detection and correction.<\/p>\n\n\n\n<p>When a sector is written to the hard disk, the appropriate ECC codes are generated and stored in the bits reserved for them. When the sector is read back, the user data read, combined with the ECC bits, can tell the controller if any errors occurred during the read. Errors that can be corrected using the redundant information are corrected before passing the data to the rest of the system. The system can also tell when there is too much damage to the data to correct, and will issue an\u00a0error notification\u00a0in that event. The sophisticated firmware present in all modern drives uses ECC as part of its overall error management protocols. This is all done &#8220;on the fly&#8221; with no intervention from the user required, and no slowdown in performance even when errors are encountered and must be corrected.<\/p>\n\n\n\n<p>The capability of a Reed Solomon ECC implementation is based on the number of additional ECC bits it includes. The more bits that are included for a given amount of data, the more errors that can be tolerated. There are multiple trade offs involved in deciding how many bits of ECC information to use. Including more bits per sector of data allows for more robust error detection and correction, but means fewer sectors can be put on each track, since more of the linear distance of the track is used up with non-data bits. On the other hand, if you make the system more capable of detecting and correcting errors, you make it possible to increase areal density or make other performance improvements, which could pay back the &#8220;investment&#8221; of extra ECC bits, and then some. Another complicating factor is that the more ECC bits included, the more processing power the controller must possess to process the Reed Solomon algorithm. The engineers who design hard disks take these various factors into account in deciding how many ECC bits to include for each sector.<\/p>\n\n\n\n<table class=\"wp-block-table\"><tbody><tr><td><strong>The PC Guide<\/strong><br>Site Version: 2.2.0 &#8211; Version Date: April 17, 2001<br>\u00a9 Copyright 1997-2004\u00a0Charles M. Kozierok.\u00a0All Rights Reserved.<\/td><\/tr><tr><\/tr><\/tbody><\/table>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<p>This is an archive of  Charles M. Kozierok&#8217;s PCGuide (pcguide.com) which disappeared from the internet in 2018.  We wanted to preserve Charles M. Kozierok&#8217;s knowledge about computers and are permanently hosting a  selection of important pages from PCGuide.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The basis of all error detection and correction in hard disks is the inclusion of redundant information and special hardware or software to use it. Each sector of data on the hard disk contains 512 bytes, or 4,096 bits, of user data. In addition to these bits, an additional number of bits are added to [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[16,40,48],"class_list":["post-401","post","type-post","status-publish","format-standard","hentry","category-computerrepair","tag-computer-repair","tag-hard-drive","tag-pcguide"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Hard Drive Error Correcting Code (ECC) - Computer Repair Blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.karlstechnology.com\/blog\/hard-drive-error-correcting-code-ecc\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Hard Drive Error Correcting Code (ECC) - Computer Repair Blog\" \/>\n<meta property=\"og:description\" content=\"The basis of all error detection and correction in hard disks is the inclusion of redundant information and special hardware or software to use it. Each sector of data on the hard disk contains 512 bytes, or 4,096 bits, of user data. In addition to these bits, an additional number of bits are added to [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.karlstechnology.com\/blog\/hard-drive-error-correcting-code-ecc\/\" \/>\n<meta property=\"og:site_name\" content=\"Computer Repair Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/karlstechnology\" \/>\n<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/kc7txm\" \/>\n<meta property=\"article:published_time\" content=\"2018-11-25T18:53:40+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2019-05-26T07:00:28+00:00\" \/>\n<meta name=\"author\" content=\"kc7txm\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"kc7txm\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.karlstechnology.com\/blog\/hard-drive-error-correcting-code-ecc\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.karlstechnology.com\/blog\/hard-drive-error-correcting-code-ecc\/\"},\"author\":{\"name\":\"kc7txm\",\"@id\":\"https:\/\/www.karlstechnology.com\/blog\/#\/schema\/person\/f937c8fa616d9030d2d4716afcfe5a86\"},\"headline\":\"Hard Drive Error Correcting Code (ECC)\",\"datePublished\":\"2018-11-25T18:53:40+00:00\",\"dateModified\":\"2019-05-26T07:00:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.karlstechnology.com\/blog\/hard-drive-error-correcting-code-ecc\/\"},\"wordCount\":619,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.karlstechnology.com\/blog\/#organization\"},\"keywords\":[\"computer repair\",\"hard drive\",\"PCGuide\"],\"articleSection\":[\"Computer Repair\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.karlstechnology.com\/blog\/hard-drive-error-correcting-code-ecc\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.karlstechnology.com\/blog\/hard-drive-error-correcting-code-ecc\/\",\"url\":\"https:\/\/www.karlstechnology.com\/blog\/hard-drive-error-correcting-code-ecc\/\",\"name\":\"Hard Drive Error Correcting Code (ECC) - Computer Repair Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.karlstechnology.com\/blog\/#website\"},\"datePublished\":\"2018-11-25T18:53:40+00:00\",\"dateModified\":\"2019-05-26T07:00:28+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.karlstechnology.com\/blog\/hard-drive-error-correcting-code-ecc\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.karlstechnology.com\/blog\/hard-drive-error-correcting-code-ecc\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.karlstechnology.com\/blog\/hard-drive-error-correcting-code-ecc\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.karlstechnology.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Hard Drive Error Correcting Code (ECC)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.karlstechnology.com\/blog\/#website\",\"url\":\"https:\/\/www.karlstechnology.com\/blog\/\",\"name\":\"Computer Repair Blog\",\"description\":\"Karls Technology Computer Repair\",\"publisher\":{\"@id\":\"https:\/\/www.karlstechnology.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.karlstechnology.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.karlstechnology.com\/blog\/#organization\",\"name\":\"Karls Technology\",\"url\":\"https:\/\/www.karlstechnology.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.karlstechnology.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.karlstechnology.com\/blog\/wp-content\/uploads\/2019\/04\/karlstechnology.png\",\"contentUrl\":\"https:\/\/www.karlstechnology.com\/blog\/wp-content\/uploads\/2019\/04\/karlstechnology.png\",\"width\":800,\"height\":99,\"caption\":\"Karls Technology\"},\"image\":{\"@id\":\"https:\/\/www.karlstechnology.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/karlstechnology\",\"https:\/\/x.com\/karlstechnology\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.karlstechnology.com\/blog\/#\/schema\/person\/f937c8fa616d9030d2d4716afcfe5a86\",\"name\":\"kc7txm\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.karlstechnology.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/9c44100002e6b21935601483ae93b357?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/9c44100002e6b21935601483ae93b357?s=96&d=mm&r=g\",\"caption\":\"kc7txm\"},\"description\":\"Matt Karls has a PhD in IT and is an Electrical Engineer. He works in management within the software development, IT and SEO fields and is the owner of Karls Technology. He has four kids and lives in the Phoenix metro area (when he is not travelling around to our different offices).\",\"sameAs\":[\"https:\/\/www.karlstechnology.com\/\",\"https:\/\/www.facebook.com\/kc7txm\",\"https:\/\/www.linkedin.com\/in\/matthew-daniel-karls-b2b16365\/\",\"https:\/\/x.com\/kc7txm\",\"https:\/\/www.youtube.com\/user\/kc7txm\",\"https:\/\/en.wikipedia.org\/wiki\/User:Kc7txm\"],\"url\":\"https:\/\/www.karlstechnology.com\/blog\/author\/kc7txm\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Hard Drive Error Correcting Code (ECC) - Computer Repair Blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.karlstechnology.com\/blog\/hard-drive-error-correcting-code-ecc\/","og_locale":"en_US","og_type":"article","og_title":"Hard Drive Error Correcting Code (ECC) - Computer Repair Blog","og_description":"The basis of all error detection and correction in hard disks is the inclusion of redundant information and special hardware or software to use it. Each sector of data on the hard disk contains 512 bytes, or 4,096 bits, of user data. In addition to these bits, an additional number of bits are added to [&hellip;]","og_url":"https:\/\/www.karlstechnology.com\/blog\/hard-drive-error-correcting-code-ecc\/","og_site_name":"Computer Repair Blog","article_publisher":"https:\/\/www.facebook.com\/karlstechnology","article_author":"https:\/\/www.facebook.com\/kc7txm","article_published_time":"2018-11-25T18:53:40+00:00","article_modified_time":"2019-05-26T07:00:28+00:00","author":"kc7txm","twitter_misc":{"Written by":"kc7txm","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.karlstechnology.com\/blog\/hard-drive-error-correcting-code-ecc\/#article","isPartOf":{"@id":"https:\/\/www.karlstechnology.com\/blog\/hard-drive-error-correcting-code-ecc\/"},"author":{"name":"kc7txm","@id":"https:\/\/www.karlstechnology.com\/blog\/#\/schema\/person\/f937c8fa616d9030d2d4716afcfe5a86"},"headline":"Hard Drive Error Correcting Code (ECC)","datePublished":"2018-11-25T18:53:40+00:00","dateModified":"2019-05-26T07:00:28+00:00","mainEntityOfPage":{"@id":"https:\/\/www.karlstechnology.com\/blog\/hard-drive-error-correcting-code-ecc\/"},"wordCount":619,"commentCount":0,"publisher":{"@id":"https:\/\/www.karlstechnology.com\/blog\/#organization"},"keywords":["computer repair","hard drive","PCGuide"],"articleSection":["Computer Repair"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.karlstechnology.com\/blog\/hard-drive-error-correcting-code-ecc\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.karlstechnology.com\/blog\/hard-drive-error-correcting-code-ecc\/","url":"https:\/\/www.karlstechnology.com\/blog\/hard-drive-error-correcting-code-ecc\/","name":"Hard Drive Error Correcting Code (ECC) - Computer Repair Blog","isPartOf":{"@id":"https:\/\/www.karlstechnology.com\/blog\/#website"},"datePublished":"2018-11-25T18:53:40+00:00","dateModified":"2019-05-26T07:00:28+00:00","breadcrumb":{"@id":"https:\/\/www.karlstechnology.com\/blog\/hard-drive-error-correcting-code-ecc\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.karlstechnology.com\/blog\/hard-drive-error-correcting-code-ecc\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.karlstechnology.com\/blog\/hard-drive-error-correcting-code-ecc\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.karlstechnology.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Hard Drive Error Correcting Code (ECC)"}]},{"@type":"WebSite","@id":"https:\/\/www.karlstechnology.com\/blog\/#website","url":"https:\/\/www.karlstechnology.com\/blog\/","name":"Computer Repair Blog","description":"Karls Technology Computer Repair","publisher":{"@id":"https:\/\/www.karlstechnology.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.karlstechnology.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.karlstechnology.com\/blog\/#organization","name":"Karls Technology","url":"https:\/\/www.karlstechnology.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.karlstechnology.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.karlstechnology.com\/blog\/wp-content\/uploads\/2019\/04\/karlstechnology.png","contentUrl":"https:\/\/www.karlstechnology.com\/blog\/wp-content\/uploads\/2019\/04\/karlstechnology.png","width":800,"height":99,"caption":"Karls Technology"},"image":{"@id":"https:\/\/www.karlstechnology.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/karlstechnology","https:\/\/x.com\/karlstechnology"]},{"@type":"Person","@id":"https:\/\/www.karlstechnology.com\/blog\/#\/schema\/person\/f937c8fa616d9030d2d4716afcfe5a86","name":"kc7txm","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.karlstechnology.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/9c44100002e6b21935601483ae93b357?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/9c44100002e6b21935601483ae93b357?s=96&d=mm&r=g","caption":"kc7txm"},"description":"Matt Karls has a PhD in IT and is an Electrical Engineer. He works in management within the software development, IT and SEO fields and is the owner of Karls Technology. He has four kids and lives in the Phoenix metro area (when he is not travelling around to our different offices).","sameAs":["https:\/\/www.karlstechnology.com\/","https:\/\/www.facebook.com\/kc7txm","https:\/\/www.linkedin.com\/in\/matthew-daniel-karls-b2b16365\/","https:\/\/x.com\/kc7txm","https:\/\/www.youtube.com\/user\/kc7txm","https:\/\/en.wikipedia.org\/wiki\/User:Kc7txm"],"url":"https:\/\/www.karlstechnology.com\/blog\/author\/kc7txm\/"}]}},"_links":{"self":[{"href":"https:\/\/www.karlstechnology.com\/blog\/wp-json\/wp\/v2\/posts\/401"}],"collection":[{"href":"https:\/\/www.karlstechnology.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.karlstechnology.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.karlstechnology.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.karlstechnology.com\/blog\/wp-json\/wp\/v2\/comments?post=401"}],"version-history":[{"count":1,"href":"https:\/\/www.karlstechnology.com\/blog\/wp-json\/wp\/v2\/posts\/401\/revisions"}],"predecessor-version":[{"id":402,"href":"https:\/\/www.karlstechnology.com\/blog\/wp-json\/wp\/v2\/posts\/401\/revisions\/402"}],"wp:attachment":[{"href":"https:\/\/www.karlstechnology.com\/blog\/wp-json\/wp\/v2\/media?parent=401"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.karlstechnology.com\/blog\/wp-json\/wp\/v2\/categories?post=401"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.karlstechnology.com\/blog\/wp-json\/wp\/v2\/tags?post=401"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}