อ่าน 8 นาที
ข้อผิดพลาดแบบอ่อน
ในด้าน อิเล็กทรอนิกส์ และ คอมพิวเตอร์ ข้อ ผิดพลาดแบบอ่อน (Soft error ) คือ ข้อผิดพลาด ประเภทหนึ่งที่สัญญาณหรือข้อมูลไม่ถูกต้อง ข้อผิดพลาดอาจเกิดจาก ความบกพร่อง...
ข้อผิดพลาดแบบอ่อน
ในด้านอิเล็กทรอนิกส์และคอมพิวเตอร์ข้อผิดพลาดแบบอ่อน (Soft error ) คือ ข้อผิดพลาดประเภทหนึ่งที่สัญญาณหรือข้อมูลไม่ถูกต้อง ข้อผิดพลาดอาจเกิดจากความบกพร่องซึ่งโดยทั่วไปหมายถึงความผิดพลาดในการออกแบบหรือการผลิต หรือชิ้นส่วนที่ชำรุด ข้อผิดพลาดแบบอ่อนก็หมายถึงสัญญาณหรือข้อมูลที่ไม่ถูกต้องเช่นกัน แต่ไม่ได้หมายความว่าจะมีความผิดพลาดหรือชิ้นส่วนชำรุดเสมอไป หลังจากตรวจพบข้อผิดพลาดแบบอ่อนแล้ว ก็ไม่ได้หมายความว่าระบบจะมีความน่าเชื่อถือน้อยลงกว่าเดิม สาเหตุหนึ่งของข้อผิดพลาดแบบอ่อนคือความผิดปกติจากเหตุการณ์เดียวที่เกิดจากรังสีคอสมิก
ในระบบหน่วยความจำของคอมพิวเตอร์ ข้อผิดพลาดแบบอ่อน (soft error) จะเปลี่ยนแปลงคำสั่งในโปรแกรมหรือค่าข้อมูล ข้อผิดพลาดแบบอ่อนมักแก้ไขได้โดยการรีสตาร์ทคอมพิวเตอร์ ข้อผิดพลาดแบบอ่อนจะไม่ทำให้ฮาร์ดแวร์ของระบบเสียหาย ความเสียหายจะมีเพียงข้อมูลที่กำลังประมวลผลอยู่เท่านั้น
ข้อผิดพลาดแบบอ่อนมีสองประเภท คือข้อผิดพลาดแบบอ่อนระดับชิปและข้อผิดพลาดแบบอ่อนระดับระบบข้อผิดพลาดแบบอ่อนระดับชิปเกิดขึ้นเมื่ออนุภาคกระทบกับชิป เช่น เมื่ออนุภาคทุติยภูมิจากรังสีคอสมิกตกกระทบกับ แผ่น ซิลิคอนหากอนุภาคที่มีคุณสมบัติบางอย่างกระทบกับเซลล์หน่วยความจำอาจทำให้เซลล์เปลี่ยนสถานะเป็นค่าอื่นได้ ปฏิกิริยาอะตอมในตัวอย่างนี้มีขนาดเล็กมากจนไม่ทำให้โครงสร้างทางกายภาพของชิปเสียหาย ข้อผิดพลาดแบบอ่อนระดับระบบเกิดขึ้นเมื่อข้อมูลที่กำลังประมวลผลถูกรบกวนด้วยปรากฏการณ์สัญญาณรบกวน โดยทั่วไปจะเกิดขึ้นเมื่อข้อมูลอยู่บนบัสข้อมูล คอมพิวเตอร์พยายามตีความสัญญาณรบกวนนั้นเป็นบิตข้อมูล ซึ่งอาจทำให้เกิดข้อผิดพลาดในการกำหนดแอดเดรสหรือการประมวลผลโค้ดโปรแกรม บิตข้อมูลที่ผิดพลาดอาจถูกบันทึกไว้ในหน่วยความจำและทำให้เกิดปัญหาในภายหลังได้
หากตรวจพบ ข้อผิดพลาดแบบอ่อน (soft error) อาจแก้ไขได้โดยการเขียนข้อมูลที่ถูกต้องลงไปแทนที่ข้อมูลที่ผิดพลาด ระบบที่มีความน่าเชื่อถือสูงจะใช้การแก้ไขข้อผิดพลาดเพื่อแก้ไขข้อผิดพลาดแบบอ่อนแบบเรียลไทม์ อย่างไรก็ตาม ในหลายระบบ อาจเป็นไปไม่ได้ที่จะระบุข้อมูลที่ถูกต้อง หรือแม้แต่ค้นพบว่ามีข้อผิดพลาดอยู่เลย นอกจากนี้ ก่อนที่จะทำการแก้ไข ระบบอาจล่มซึ่งในกรณีนี้ขั้นตอนการกู้คืน จะ ต้องรวมถึงการรีบูตข้อผิดพลาดแบบอ่อนเกี่ยวข้องกับการเปลี่ยนแปลงของข้อมูล เช่นอิเล็กตรอนในวงจรจัดเก็บข้อมูล แต่ไม่ใช่การเปลี่ยนแปลงของวงจรทางกายภาพเอง หรืออะตอมหากเขียนข้อมูลใหม่ วงจรจะทำงานได้อย่างสมบูรณ์อีกครั้ง ข้อผิดพลาดแบบอ่อนสามารถเกิดขึ้นได้ในสายส่งสัญญาณ ในตรรกะดิจิทัล วงจรอนาล็อกการจัดเก็บข้อมูลแม่เหล็กและที่อื่นๆ แต่พบได้บ่อยที่สุดในอุปกรณ์จัดเก็บข้อมูลเซมิคอนดักเตอร์
ประจุวิกฤต
การที่วงจรจะเกิดข้อผิดพลาดแบบอ่อนหรือไม่นั้น ขึ้นอยู่กับพลังงานของอนุภาคที่เข้ามา รูปทรงของการกระทบ ตำแหน่งของการกระทบ และการออกแบบของวงจรลอจิก วงจรลอจิกที่มีค่าความจุ สูง และแรงดันลอจิกสูงจะมีโอกาสเกิดข้อผิดพลาดน้อยกว่า ค่าความจุและแรงดันนี้อธิบายได้ด้วย พารามิเตอร์ ประจุวิกฤต Qcrit ซึ่ง เป็น ค่าการรบกวนประจุอิเล็กตรอนขั้นต่ำที่จำเป็นในการเปลี่ยนระดับลอจิก ค่า Qcrit ที่สูงขึ้นหมายถึงข้อผิดพลาดแบบอ่อนน้อยลง แต่โชคร้ายที่ค่า Qcrit ที่สูงขึ้น ก็หมายถึงเกตลอจิกที่ทำงานช้าลงและการใช้พลังงานที่สูงขึ้นด้วย การลดขนาดของส่วนประกอบชิปและแรงดันไฟฟ้าที่จ่าย ซึ่งเป็นสิ่งที่พึงปรารถนาด้วยเหตุผลหลายประการ จะช่วยลดค่า Qcrit ลงดังนั้นความสำคัญของข้อผิดพลาดแบบอ่อนจึงเพิ่มขึ้นตามความก้าวหน้าของเทคโนโลยีชิป
ในวงจรลอจิก Qcrit ถูกกำหนดให้เป็นปริมาณประจุเหนี่ยวนำขั้นต่ำที่จำเป็น ณ จุดต่อในวงจร เพื่อให้พัลส์แรงดันไฟฟ้าแพร่กระจายจากจุดต่อดังกล่าวไปยังเอาต์พุต และมีระยะเวลาและความแรงเพียงพอที่จะถูกล็อคได้อย่างน่าเชื่อถือ เนื่องจากวงจรลอจิกประกอบด้วยจุดต่อหลายจุดที่อาจถูกกระตุ้น และแต่ละจุดต่ออาจมีค่าความจุและระยะห่างจากเอาต์พุตที่แตกต่างกัน ดังนั้นโดยทั่วไปแล้ว Qcrit จะถูกกำหนดเป็นรายจุดต่อวงจร
สาเหตุของข้อผิดพลาดแบบอ่อน
อนุภาคอัลฟาจากการเสื่อมสภาพของบรรจุภัณฑ์
ข้อผิดพลาดแบบอ่อน (Soft errors) เริ่มเป็นที่รู้จักกันอย่างแพร่หลายเมื่อมีการนำหน่วยความจำแบบไดนามิก (Dynamic RAM) มาใช้ในทศวรรษ 1970 ในอุปกรณ์รุ่นแรกๆ เหล่านั้น วัสดุบรรจุภัณฑ์ชิปเซรามิกมีสารปนเปื้อนกัมมันตรังสีในปริมาณเล็กน้อยจำเป็นต้องมีอัตราการสลายตัวที่ต่ำมากเพื่อหลีกเลี่ยงข้อผิดพลาดแบบอ่อนที่มากเกินไป และบริษัทผู้ผลิตชิปก็ประสบปัญหาการปนเปื้อนมาเป็นระยะๆ ตั้งแต่นั้นเป็นต้นมา การรักษาความบริสุทธิ์ของวัสดุให้ได้ตามที่ต้องการนั้นทำได้ยากมาก การควบคุมอัตราการปล่อยอนุภาคอัลฟาของวัสดุบรรจุภัณฑ์ที่สำคัญให้ต่ำกว่าระดับ 0.001 ครั้งต่อชั่วโมงต่อตารางเซนติเมตร( cph/cm² )เป็น สิ่งจำเป็นสำหรับการทำงานที่เชื่อถือได้ของวงจรส่วนใหญ่ เพื่อเปรียบเทียบ อัตราการนับของพื้นรองเท้าทั่วไปอยู่ระหว่าง 0.1 ถึง 10 cph/ cm²
มีการบันทึกการปนเปื้อนของสารกัมมันตรังสีในแพ็คเกจชิปที่ทำให้เกิด การขัดข้องในเซิร์ฟเวอร์ Ultra Enterpriseที่ใช้UltraSPARC II บางเครื่อง ในกรณีนี้ การขัดข้องถูกตรวจสอบพบว่าเกิดจาก ชิป SRAM ใน แคชCPUภายนอก[ 1 ] [ 2 ]
การสลายตัวของสารกัมมันตรังสีในบรรจุภัณฑ์มักก่อให้เกิดข้อผิดพลาดแบบอ่อน (soft error) จากการปล่อยอนุภาคอัลฟา อนุภาคอัลฟาที่มีประจุบวกจะเคลื่อนที่ผ่านสารกึ่งตัวนำและรบกวนการกระจายตัวของอิเล็กตรอน หากการรบกวนมีขนาดใหญ่พอ สัญญาณดิจิทัล อาจเปลี่ยนจาก 0 เป็น 1 หรือในทางกลับกัน ในวงจรลอจิกแบบผสม (combinational logic) ผลกระทบนี้เกิดขึ้นชั่วคราว อาจกินเวลาเพียงเศษเสี้ยวของนาโนวินาที และนี่เป็นสาเหตุที่ทำให้ข้อผิดพลาดแบบอ่อนในวงจรลอจิกแบบผสมมักไม่ถูกสังเกตเห็น ในวงจรลอจิกแบบลำดับ เช่นแลตช์ (latches)และRAMแม้แต่ความผิดปกติชั่วคราวนี้ก็สามารถถูกเก็บไว้ได้เป็นระยะเวลาไม่จำกัด เพื่ออ่านออกมาในภายหลัง ดังนั้น นักออกแบบจึงมักตระหนักถึงปัญหาในวงจรจัดเก็บข้อมูลมากกว่า
เอกสาร Black Hatปี 2011 กล่าวถึงผลกระทบด้านความปลอดภัยในชีวิตจริงของการเปลี่ยนแปลงบิตดังกล่าวในระบบชื่อโดเมน ของอินเทอร์เน็ต เอกสารดังกล่าวพบว่ามีคำขอที่ไม่ถูกต้องมากถึง 3,434 รายการต่อวันเนื่องจากการเปลี่ยนแปลงบิตสำหรับโดเมนทั่วไปต่างๆ การเปลี่ยนแปลงบิตเหล่านี้จำนวนมากน่าจะเกิดจากปัญหาฮาร์ดแวร์ แต่บางส่วนอาจเกิดจากอนุภาคอัลฟา[ 2 ]ข้อผิดพลาดในการเปลี่ยนแปลงบิตเหล่านี้อาจถูกผู้ไม่ประสงค์ดีใช้ประโยชน์ในรูปแบบของการจดทะเบียนชื่อโดเมน โดยมิ ชอบ
ไอแซค อาสิมอฟได้รับจดหมายแสดงความยินดีกับเขาที่ทำนายข้อผิดพลาดของ RAM อนุภาคอัลฟาโดยบังเอิญในนวนิยายยุค 1950 [ 3 ]
รังสีคอสมิกก่อให้เกิดนิวตรอนและโปรตอนที่มีพลังงานสูง
เมื่ออุตสาหกรรมอิเล็กทรอนิกส์ได้กำหนดวิธีการควบคุมสารปนเปื้อนในบรรจุภัณฑ์แล้ว ก็เป็นที่ชัดเจนว่ายังมีสาเหตุอื่นๆ อีกด้วยเจมส์ เอฟ. ซีกเลอร์ได้นำโปรแกรมการทำงานที่IBMซึ่งจบลงด้วยการตีพิมพ์เอกสารหลายฉบับ (ซีกเลอร์และแลนฟอร์ด, 1979) ที่แสดงให้เห็นว่ารังสีคอสมิกก็สามารถทำให้เกิดข้อผิดพลาดแบบอ่อนได้เช่นกัน อันที่จริง ในอุปกรณ์สมัยใหม่ รังสีคอสมิกอาจเป็นสาเหตุหลัก แม้ว่าอนุภาคหลักของรังสีคอสมิกโดยทั่วไปจะไม่ถึงพื้นผิวโลก แต่ก็สร้าง อนุภาค ทุติยภูมิที่มีพลังงานสูงจำนวนมาก ที่พื้นผิวโลกประมาณ 95% ของอนุภาคที่สามารถทำให้เกิดข้อผิดพลาดแบบอ่อนได้คือนิวตรอนที่มีพลังงานสูง ส่วนที่เหลือประกอบด้วยโปรตอนและไพอน[ 4 ] IBM ประมาณการในปี 1996 ว่าคาดว่าจะเกิดข้อผิดพลาดหนึ่งครั้งต่อเดือนต่อ RAM 256 MiBสำหรับคอมพิวเตอร์ตั้งโต๊ะ[ 5 ] กระแสของนิวตรอนที่มีพลังงานสูงนี้มักถูกเรียกว่า "รังสีคอสมิก" ในเอกสารเกี่ยวกับข้อผิดพลาดแบบอ่อน นิวตรอนไม่มีประจุและไม่สามารถรบกวนวงจรได้ด้วยตัวเอง แต่จะเกิดการจับนิวตรอนโดยนิวเคลียสของอะตอมในชิป กระบวนการนี้อาจส่งผลให้เกิดอนุภาคทุติยภูมิที่มีประจุ เช่น อนุภาคอัลฟาและนิวเคลียสของออกซิเจน ซึ่งสามารถก่อให้เกิดข้อผิดพลาดแบบอ่อนได้
ฟลักซ์ของรังสีคอสมิกขึ้นอยู่กับระดับความสูง สำหรับตำแหน่งอ้างอิงทั่วไปที่ 40.7° เหนือ, 74° ตะวันตก ที่ระดับน้ำทะเล ( นครนิวยอร์ก รัฐนิวยอร์ก สหรัฐอเมริกา) ฟลักซ์จะอยู่ที่ประมาณ 14 นิวตรอน/cm² /ชั่วโมง การฝังระบบไว้ในถ้ำจะช่วยลดอัตราข้อผิดพลาดอ่อนที่เกิดจากรังสีคอสมิกให้อยู่ในระดับที่น้อยมาก ในชั้นบรรยากาศระดับต่ำ ฟลักซ์จะเพิ่มขึ้นประมาณ 2.2 เท่าสำหรับทุกๆ 1,000 เมตร (1.3 เท่าสำหรับทุกๆ 1,000 ฟุต) ที่ระดับความสูงเหนือระดับน้ำทะเลเพิ่มขึ้น คอมพิวเตอร์ที่ทำงานบนยอดเขาจะประสบกับอัตราข้อผิดพลาดอ่อนที่สูงกว่าระดับน้ำทะเลหลายเท่า อัตราการเกิดความผิดพลาดในเครื่องบินอาจสูงกว่าอัตราการเกิดความผิดพลาดที่ระดับน้ำทะเลถึง 300 เท่า ซึ่งแตกต่างจากข้อผิดพลาดอ่อนที่เกิดจากการเสื่อมสภาพของบรรจุภัณฑ์ซึ่งไม่เปลี่ยนแปลงตามตำแหน่ง[ 6 ] เมื่อความหนาแน่นของชิปเพิ่มขึ้นอินเทลคาดว่าข้อผิดพลาดที่เกิดจากรังสีคอสมิกจะเพิ่มขึ้นและกลายเป็นปัจจัยจำกัดในการออกแบบ[ 5 ]
อัตราเฉลี่ยของข้อผิดพลาดอ่อนจากรังสีคอสมิกแปรผกผันกับกิจกรรมจุดบนดวงอาทิตย์ กล่าวคือ จำนวนเฉลี่ยของข้อผิดพลาดอ่อนจากรังสีคอสมิกจะลดลงในช่วงที่กิจกรรมจุดบนดวงอาทิตย์สูงและเพิ่มขึ้นในช่วงที่กิจกรรมจุดบนดวงอาทิตย์สงบ ผลลัพธ์ที่ดูขัดแย้งกับสามัญสำนึกนี้เกิดขึ้นจากสองสาเหตุ โดยทั่วไปแล้วดวงอาทิตย์ไม่ได้ผลิตอนุภาครังสีคอสมิกที่มีพลังงานสูงกว่า 1 GeV ที่สามารถทะลุผ่านชั้นบรรยากาศชั้นบนของโลกและก่อให้เกิดฝนอนุภาคได้ ดังนั้นการเปลี่ยนแปลงของฟลักซ์พลังงานแสงอาทิตย์จึงไม่ส่งผลโดยตรงต่อจำนวนข้อผิดพลาด นอกจากนี้ การเพิ่มขึ้นของฟลักซ์พลังงานแสงอาทิตย์ในช่วงที่ดวงอาทิตย์มีกิจกรรมสูงจะมีผลต่อการเปลี่ยนแปลงสนามแม่เหล็กโลกทำให้เกิดการป้องกันเพิ่มเติมต่อรังสีคอสมิกพลังงานสูง ส่งผลให้จำนวนอนุภาคที่ก่อให้เกิดฝนอนุภาคลดลง อย่างไรก็ตาม ผลกระทบนั้นค่อนข้างน้อย โดยส่งผลให้ฟลักซ์นิวตรอนพลังงานสูงในนครนิวยอร์กเปลี่ยนแปลงไปประมาณ ±7% สถานที่อื่นๆ ก็ได้รับผลกระทบในลักษณะเดียวกัน
การทดลองหนึ่งวัดอัตราข้อผิดพลาดแบบอ่อนที่ระดับน้ำทะเลได้ 5,950 ครั้ง (FIT = ความล้มเหลวต่อพันล้านชั่วโมง) ต่อชิป DRAM เมื่อย้ายชุดทดสอบเดียวกันไปยังห้องใต้ดินที่ป้องกันด้วยหินหนามากกว่า 50 ฟุต (15 เมตร) ซึ่งกำจัดรังสีคอสมิกได้อย่างมีประสิทธิภาพ ไม่พบข้อผิดพลาดแบบอ่อนเลย[ 7 ] ในการทดสอบนี้ สาเหตุอื่นๆ ของข้อผิดพลาดแบบอ่อนมีขนาดเล็กเกินกว่าจะวัดได้ เมื่อเทียบกับอัตราข้อผิดพลาดที่เกิดจากรังสีคอสมิก
นิวตรอนพลังงานสูงที่เกิดจากรังสีคอสมิกอาจสูญเสียพลังงานจลน์ส่วนใหญ่และเข้าสู่สมดุลทางความร้อนกับสิ่งแวดล้อมเมื่อถูกกระเจิงโดยวัสดุต่างๆ นิวตรอนที่เกิดขึ้นนี้เรียกว่านิวตรอนความร้อนและมีพลังงานจลน์เฉลี่ยประมาณ 25 มิลลิอิเล็กตรอนโวลต์ที่อุณหภูมิ 25 องศาเซลเซียส นิวตรอนความร้อนยังเกิดขึ้นจากแหล่งกำเนิดรังสีในสิ่งแวดล้อม รวมถึงการสลายตัวของธาตุกัมมันตรังสีที่เกิดขึ้นตามธรรมชาติ เช่นยูเรเนียมและทอเรียม ฟลักซ์นิวตรอนความร้อนจากแหล่งอื่นๆ นอกเหนือจากรังสีคอสมิกอาจยังคงตรวจพบได้ในบริเวณใต้ดินและเป็นสาเหตุสำคัญของข้อผิดพลาดแบบอ่อนในวงจรบางประเภท
นิวตรอนความร้อน
นิวตรอนที่สูญเสียพลังงานจลน์จนกระทั่งอยู่ในสมดุลทางความร้อนกับสิ่งแวดล้อมเป็นสาเหตุสำคัญของข้อผิดพลาดแบบอ่อนสำหรับวงจรบางวงจร ที่พลังงานต่ำ ปฏิกิริยา การจับนิวตรอน จำนวนมากมีโอกาสเกิดขึ้นได้มากขึ้นและส่งผลให้เกิดการแตกตัวของวัสดุบางชนิด ทำให้เกิดอนุภาคทุติยภูมิที่มีประจุเป็นผลพลอยได้จากการแตกตัว สำหรับวงจรบางวงจร การจับนิวตรอนความร้อนโดยนิวเคลียสของ ไอโซโทป 10B ของโบรอนมีความสำคัญเป็นพิเศษ ปฏิกิริยานิวเคลียร์นี้เป็นตัวผลิตอนุภาคอัลฟานิวเคลียส7Liและรังสีแกมมา ที่มีประสิทธิภาพ อนุภาคที่มีประจุใดๆ (อัลฟาหรือ7Li ) อาจทำให้เกิดข้อผิดพลาดแบบอ่อนได้หากผลิตขึ้นในระยะใกล้มาก ประมาณ 5 μmกับจุดวิกฤตของวงจร พื้นที่หน้าตัดการจับสำหรับ11Bมีขนาดเล็กกว่า 6 อันดับและไม่ก่อให้เกิดข้อผิดพลาดแบบอ่อน[ 8 ]
โบรอนถูกนำมาใช้ในBPSGซึ่งเป็นฉนวนในชั้นเชื่อมต่อของวงจรรวม โดยเฉพาะอย่างยิ่งในชั้นล่างสุด การเติมโบรอนช่วยลดอุณหภูมิหลอมเหลวของแก้ว ทำให้มี คุณสมบัติ การหลอมเหลวและการปรับระนาบที่ดีขึ้น ในการใช้งานนี้ แก้วจะถูกผสมด้วยปริมาณโบรอน 4% ถึง 5% โดยน้ำหนัก โบรอนที่เกิดขึ้นตามธรรมชาติมี10B อยู่ 20% และส่วนที่เหลือเป็น ไอโซโทป 11B ข้อผิดพลาดแบบอ่อน (Soft errors )เกิดจากระดับ 10B ที่สูงในชั้นล่างที่สำคัญนี้ของกระบวนการผลิตวงจรรวมแบบเก่าบางชนิด โบรอน-11 ซึ่งใช้ในความเข้มข้นต่ำเป็นสารเจือปนชนิด p ไม่ก่อให้เกิดข้อผิดพลาดแบบอ่อน ผู้ผลิตวงจรรวมได้ยกเลิกการใช้ไดอิเล็กทริกที่มีโบรอนเมื่อขนาดของส่วนประกอบวงจรแต่ละชิ้นลดลงเหลือ 150 นาโนเมตร ส่วนใหญ่เป็นเพราะปัญหานี้
ในการออกแบบที่สำคัญ จะใช้โบรอนที่ลดปริมาณลง—ซึ่งประกอบด้วยโบรอน-11 เกือบทั้งหมด—เพื่อหลีกเลี่ยงผลกระทบนี้และลดอัตราความผิดพลาดแบบอ่อน โบรอน-11 เป็นผลพลอยได้จากอุตสาหกรรมนิวเคลียร์
สำหรับการใช้งานในอุปกรณ์อิเล็กทรอนิกส์ทางการแพทย์ กลไกข้อผิดพลาดแบบอ่อนนี้อาจมีความสำคัญอย่างยิ่ง นิวตรอนถูกผลิตขึ้นระหว่างการรักษาด้วยรังสีพลังงานสูงสำหรับโรคมะเร็งโดยใช้พลังงานลำแสงโฟตอนที่สูงกว่า 10 MeV นิวตรอนเหล่านี้จะถูกลดทอนลงเมื่อกระเจิงจากอุปกรณ์และผนังในห้องรักษา ส่งผลให้ฟลักซ์นิวตรอนความร้อนสูงกว่าฟลักซ์นิวตรอนในสิ่งแวดล้อมปกติประมาณ 40 ล้าน ฟลักซ์นิวตรอนความร้อนสูงนี้โดยทั่วไปจะส่งผลให้เกิดข้อผิดพลาดแบบอ่อนในอัตราที่สูงมากและทำให้วงจรทำงานผิดปกติ[ 9 ] [ 10 ]
สาเหตุอื่นๆ
ข้อผิดพลาดแบบอ่อน (Soft error) อาจเกิดจากสัญญาณรบกวนแบบสุ่มหรือ ปัญหา ความสมบูรณ์ของสัญญาณเช่นการรบกวน แบบเหนี่ยวนำหรือแบบคาปาซิเตอร์ อย่างไรก็ตาม โดยทั่วไปแล้ว แหล่งที่มาเหล่านี้มีส่วนทำให้เกิดอัตราข้อผิดพลาดแบบอ่อนโดยรวมเพียงเล็กน้อย เมื่อเทียบกับผลกระทบจากรังสี
การทดสอบบางอย่างสรุปได้ว่าการแยก เซลล์หน่วยความจำ DRAMสามารถหลีกเลี่ยงได้ด้วยผลข้างเคียงที่ไม่ได้ตั้งใจจากการเข้าถึงเซลล์ที่อยู่ติดกันที่สร้างขึ้นเป็นพิเศษ ดังนั้น การเข้าถึงข้อมูลที่จัดเก็บใน DRAM ทำให้เซลล์หน่วยความจำรั่วไหลประจุและโต้ตอบทางไฟฟ้า อันเป็นผลมาจากความหนาแน่นของเซลล์สูงในหน่วยความจำสมัยใหม่ ทำให้เนื้อหาของแถวหน่วยความจำใกล้เคียงที่ไม่ได้ถูกระบุในการเข้าถึงหน่วยความจำดั้งเดิมเปลี่ยนแปลงไป[ 11 ] ผลกระทบนี้เรียกว่าrow hammerและยังถูกนำไปใช้ในการโจมตีความปลอดภัยของคอมพิวเตอร์เพื่อยกระดับสิทธิ์ บางอย่างอีก ด้วย[ 12 ] [ 13 ]
เนื่องจากเทคโนโลยี DRAM ที่มีขนาดต่ำกว่า 20 นาโนเมตร การคัดกรองและจัดการเซลล์ที่บกพร่องระหว่างการทดสอบผลิตภัณฑ์จึงมีต้นทุนสูงขึ้นเรื่อยๆ ส่งผลให้มีการนำ ECC ใน DRAM มาใช้เพื่อลดอัตราความล้มเหลวลงอย่างมาก ซึ่งแสดงให้เห็นว่าตั้งแต่ DDR5-SDRAM เป็นต้นไป อาจมีข้อผิดพลาดเพิ่มขึ้นเนื่องจากปรากฏการณ์ต่างๆ เช่น เวลาการคงอยู่แปรผัน (VRT) อันเนื่องมาจากข้อบกพร่องที่มีอยู่แล้วในชิปหลังจากการผลิต[ 14 ]
การออกแบบโดยคำนึงถึงข้อผิดพลาดที่ไม่ร้ายแรง
การบรรเทาข้อผิดพลาดแบบอ่อน
นักออกแบบสามารถพยายามลดอัตราข้อผิดพลาดแบบอ่อน (soft errors) ได้ด้วยการออกแบบอุปกรณ์อย่างรอบคอบ เลือกใช้เซมิคอนดักเตอร์ วัสดุบรรจุภัณฑ์และวัสดุรองรับที่เหมาะสม รวมถึงรูปทรงเรขาคณิตของอุปกรณ์ที่ถูกต้อง อย่างไรก็ตาม บ่อยครั้งที่สิ่งนี้ถูกจำกัดด้วยความจำเป็นในการลดขนาดและแรงดันไฟฟ้าของอุปกรณ์ เพื่อเพิ่มความเร็วในการทำงานและลดการสูญเสียพลังงาน ความไวต่อความผิดพลาดของอุปกรณ์นั้นถูกอธิบายในอุตสาหกรรมโดยใช้มาตรฐาน JEDEC JESD-89
เทคนิคหนึ่งที่สามารถใช้ลดอัตราข้อผิดพลาดแบบอ่อนในวงจรดิจิทัลได้คือ การ เสริมความทนทาน ต่อรังสี (Reradiation hardening ) ซึ่งเกี่ยวข้องกับการเพิ่มค่าความจุที่จุดเชื่อมต่อวงจรที่เลือกไว้ เพื่อเพิ่มค่า Q crit ที่มีประสิทธิภาพ ซึ่งจะช่วยลดช่วงพลังงานของอนุภาคที่อาจทำให้ค่าตรรกะของจุดเชื่อมต่อเปลี่ยนแปลงไป การเสริมความทนทานต่อรังสีมักทำได้โดยการเพิ่มขนาดของทรานซิสเตอร์ที่ใช้บริเวณเดรน/ซอร์สร่วมกันที่จุดเชื่อมต่อ เนื่องจากพื้นที่และพลังงานที่ใช้ในการเสริมความทนทานต่อรังสีอาจจำกัดการออกแบบ จึงมักใช้เทคนิคนี้เฉพาะกับจุดเชื่อมต่อที่คาดว่าจะมีโอกาสเกิดข้อผิดพลาดแบบอ่อนมากที่สุดหากได้รับผลกระทบ เครื่องมือและแบบจำลองที่สามารถทำนายว่าจุดเชื่อมต่อใดมีความเสี่ยงมากที่สุดเป็นหัวข้อของการวิจัยในอดีตและปัจจุบันในด้านข้อผิดพลาดแบบอ่อน
การตรวจจับข้อผิดพลาดแบบอ่อน
มีการทำงานเพื่อแก้ไขข้อผิดพลาดแบบอ่อนในทรัพยากรโปรเซสเซอร์และหน่วยความจำโดยใช้เทคนิคทั้งฮาร์ดแวร์และซอฟต์แวร์ งานวิจัยหลายชิ้นได้แก้ไขข้อผิดพลาดแบบอ่อนโดยเสนอการตรวจจับและกู้คืนข้อผิดพลาดผ่านมัลติเธรดดิ้งแบบซ้ำซ้อนบนฮาร์ดแวร์[ 15 ] [ 16 ] [ 17 ] แนวทางเหล่านี้ใช้ฮาร์ดแวร์พิเศษเพื่อจำลองการทำงานของแอปพลิเคชันเพื่อระบุข้อผิดพลาดในเอาต์พุต ซึ่งเพิ่มความซับซ้อนและต้นทุนในการออกแบบฮาร์ดแวร์ รวมถึงค่าใช้จ่ายด้านประสิทธิภาพสูง ในทางกลับกัน แผนการทนต่อข้อผิดพลาดแบบอ่อนบนซอฟต์แวร์มีความยืดหยุ่นและสามารถนำไปใช้กับไมโครโปรเซสเซอร์เชิงพาณิชย์ได้ งานวิจัยหลายชิ้นเสนอการจำลองคำสั่งระดับคอมไพเลอร์และการตรวจสอบผลลัพธ์สำหรับการตรวจจับข้อผิดพลาดแบบอ่อน [ 18 ] [ 19 ] [ 20 ]
การแก้ไขข้อผิดพลาดเล็กน้อย
นักออกแบบสามารถเลือกที่จะยอมรับว่าข้อผิดพลาดแบบอ่อน (soft error) จะเกิดขึ้น และออกแบบระบบด้วยการตรวจจับและแก้ไขข้อผิดพลาดที่เหมาะสมเพื่อให้สามารถกู้คืนได้อย่างราบรื่น โดยทั่วไป การออกแบบหน่วยความจำเซมิคอนดักเตอร์อาจใช้การแก้ไขข้อผิดพลาดแบบส่งต่อ (forward error correction ) โดยการรวมข้อมูลที่ซ้ำซ้อนเข้าไว้ในแต่ละคำเพื่อสร้างรหัสแก้ไขข้อผิดพลาด หรือ อาจใช้การแก้ไขข้อผิดพลาดแบบย้อนกลับ (roll-back error correction ) โดยตรวจจับข้อผิดพลาดแบบอ่อนด้วย รหัสตรวจจับข้อผิดพลาดเช่นพาริตี (parity ) และเขียนข้อมูลที่ถูกต้องจากแหล่งอื่นลงไปใหม่ เทคนิคนี้มักใช้กับหน่วยความจำแคชแบบเขียนผ่าน (write-through cache memories )
ข้อผิดพลาดแบบอ่อนในวงจรลอจิกบางครั้งถูกตรวจพบและแก้ไขโดยใช้เทคนิคการออกแบบที่ทนต่อข้อผิดพลาดซึ่งมักจะรวมถึงการใช้วงจรสำรองหรือการคำนวณข้อมูลซ้ำซ้อน และโดยทั่วไปแล้วจะมีค่าใช้จ่ายในด้านพื้นที่วงจร ประสิทธิภาพที่ลดลง และ/หรือการใช้พลังงานที่สูงขึ้น แนวคิดของความซ้ำซ้อนแบบโมดูลาร์สามชั้น (TMR) สามารถนำมาใช้เพื่อให้มั่นใจได้ถึงความน่าเชื่อถือสูงมากต่อข้อผิดพลาดแบบอ่อนในวงจรลอจิก ในเทคนิคนี้ วงจรที่เหมือนกันสามชุดจะคำนวณข้อมูลเดียวกันแบบขนาน และเอาต์พุตจะถูกป้อนเข้าสู่ลอจิกการลงคะแนนเสียงส่วนใหญ่โดยส่งคืนค่าที่เกิดขึ้นอย่างน้อยสองในสามกรณี ด้วยวิธีนี้ ความล้มเหลวของวงจรหนึ่งเนื่องจากข้อผิดพลาดแบบอ่อนจะถูกละทิ้งไปโดยสมมติว่าวงจรอีกสองวงจรทำงานได้อย่างถูกต้อง อย่างไรก็ตาม ในทางปฏิบัติ นักออกแบบส่วนน้อยเท่านั้นที่สามารถรับมือกับพื้นที่วงจรและการใช้พลังงานที่เพิ่มขึ้นมากกว่า 200% ได้ ดังนั้นจึงมักจะนำไปใช้เฉพาะในบางกรณีเท่านั้น แนวคิดทั่วไปอีกอย่างหนึ่งในการแก้ไขข้อผิดพลาดแบบอ่อนในวงจรลอจิกคือความซ้ำซ้อนเชิงเวลา (หรือความซ้ำซ้อนตามเวลา) ซึ่งวงจรหนึ่งจะทำงานกับข้อมูลเดียวกันหลายครั้งและเปรียบเทียบการประเมินที่ตามมาเพื่อความสอดคล้องกัน อย่างไรก็ตาม วิธีการนี้มักส่งผลให้เกิดภาระด้านประสิทธิภาพ ภาระด้านพื้นที่ (หากใช้สำเนาของสลักเพื่อจัดเก็บข้อมูล) และภาระด้านพลังงาน แม้ว่าจะประหยัดพื้นที่ได้มากกว่าการสำรองข้อมูลแบบโมดูลาร์อย่างมากก็ตาม
โดยทั่วไปแล้วDRAMได้รับความสนใจมากที่สุดในความพยายามที่จะลดหรือแก้ไขข้อผิดพลาดแบบอ่อน (soft errors) เนื่องจาก DRAM มีสัดส่วนพื้นที่ผิวของอุปกรณ์ที่ไวต่อข้อผิดพลาดมากที่สุดในระบบคอมพิวเตอร์เดสก์ท็อปและเซิร์ฟเวอร์ (ดูตัวอย่างเช่น ความแพร่หลายของ ECC RAM ในคอมพิวเตอร์เซิร์ฟเวอร์) ตัวเลขที่แน่ชัดเกี่ยวกับความไวต่อข้อผิดพลาดของ DRAM นั้นหาได้ยาก และแตกต่างกันอย่างมากตามการออกแบบ กระบวนการผลิต และผู้ผลิต DRAM ขนาด 256 กิโลบิตที่ใช้เทคโนโลยีในยุค 1980 อาจเกิดการพลิกกลับของบิตได้ถึงห้าหรือหกบิตจากอนุภาคอัลฟา เพียงอนุภาคเดียว DRAM สมัยใหม่มีขนาดคุณสมบัติที่เล็กกว่ามาก ดังนั้นการสะสมของประจุในปริมาณที่ใกล้เคียงกันก็อาจทำให้บิตจำนวนมากพลิกกลับได้ง่ายขึ้น
การออกแบบวงจรตรวจจับและแก้ไขข้อผิดพลาดนั้นได้รับประโยชน์จากข้อเท็จจริงที่ว่าข้อผิดพลาดแบบอ่อนมักเกิดขึ้นเฉพาะในพื้นที่เล็กๆ บนชิป โดยปกติแล้วจะมีเพียงเซลล์เดียวในหน่วยความจำที่ได้รับผลกระทบ แม้ว่าเหตุการณ์ที่มีพลังงานสูงอาจทำให้เกิดความผิดพลาดในหลายเซลล์ได้ก็ตาม การจัดวางหน่วยความจำแบบดั้งเดิมมักจะวางบิตเดียวของคำแก้ไขหลายๆ คำไว้ติดกันบนชิป ดังนั้น แม้แต่ความผิดพลาดในหลายเซลล์ก็จะนำไปสู่ความผิดพลาดแบบบิตเดียว แยกกัน ในคำแก้ไขหลายๆ คำ แทนที่จะเป็นความผิดพลาดแบบหลายบิตในคำแก้ไขคำเดียว ดังนั้น รหัสแก้ไขข้อผิดพลาดจึงจำเป็นต้องรับมือกับบิตที่ผิดพลาดเพียงบิตเดียวในแต่ละคำแก้ไขเพื่อรับมือกับข้อผิดพลาดแบบอ่อนที่อาจเกิดขึ้นได้ทั้งหมด คำว่า 'หลายเซลล์' ใช้สำหรับความผิดพลาดที่ส่งผลกระทบต่อหลายเซลล์ของหน่วยความจำ ไม่ว่าเซลล์เหล่านั้นจะอยู่ในคำแก้ไขใดก็ตาม คำว่า 'หลายบิต' ใช้เมื่อมีหลายบิตในคำแก้ไขคำเดียวที่ผิดพลาด
ข้อผิดพลาดแบบอ่อนในตรรกะเชิงผสม
ใน วงจรลอจิกแบบผสม 3 กลไกการบดบังสัญญาณตามธรรมชาติที่กำหนดว่าความผิดพลาดแบบเหตุการณ์เดียว (SEU) จะแพร่กระจายกลายเป็นความผิดพลาดแบบอ่อนหรือไม่ ได้แก่การบดบังทางไฟฟ้าการ บดบังทางลอจิก และการบดบังทางเวลา (หรือช่วงเวลา) SEU จะถูกบดบังทางลอจิกหากการแพร่กระจายของมันถูกบล็อกไม่ให้ไปถึงแลตช์เอาต์พุต เนื่องจากอินพุตของเกตที่อยู่นอกเส้นทางป้องกันการเปลี่ยนสถานะทางลอจิกของเอาต์พุตของเกตนั้น SEU จะ ถูกบดบังทางไฟฟ้าหากสัญญาณถูกลดทอนโดยคุณสมบัติทางไฟฟ้าของเกตในเส้นทางการแพร่กระจาย ทำให้พัลส์ที่ได้มีขนาดไม่เพียงพอที่จะล็อคได้อย่างน่าเชื่อถือ SEU จะถูกบดบังทางเวลาหากพัลส์ที่ผิดพลาดไปถึงแลตช์เอาต์พุต แต่ไม่ได้เกิดขึ้นใกล้พอที่จะทำให้แลตช์ถูกกระตุ้นเพื่อคงค่าไว้
หากกลไกการปกปิดทั้งสามอย่างไม่เกิดขึ้นพร้อมกัน พัลส์ที่ส่งผ่านจะถูกล็อกไว้ และเอาต์พุตของวงจรลอจิกจะเป็นค่าที่ผิดพลาด ในบริบทของการทำงานของวงจร ค่าเอาต์พุตที่ผิดพลาดนี้อาจถือเป็นข้อผิดพลาดแบบอ่อน (soft error) อย่างไรก็ตาม จากมุมมองระดับสถาปัตยกรรมไมโคร ผลลัพธ์ที่ได้รับผลกระทบอาจไม่เปลี่ยนแปลงเอาต์พุตของโปรแกรมที่กำลังทำงานอยู่ ตัวอย่างเช่น ข้อมูลที่ผิดพลาดอาจถูกเขียนทับก่อนใช้งาน ถูกปกปิดในการดำเนินการลอจิกครั้งต่อไป หรืออาจไม่ถูกใช้เลย หากข้อมูลที่ผิดพลาดไม่ส่งผลกระทบต่อเอาต์พุตของโปรแกรม จะถือว่าเป็นตัวอย่างของการปกปิดในระดับสถาปัตยกรรมไมโคร
อัตราข้อผิดพลาดแบบอ่อน
อัตราความผิดพลาดแบบอ่อน (Soft error rate หรือ SER) คืออัตราที่อุปกรณ์หรือระบบพบเจอหรือคาดว่าจะพบเจอความผิดพลาดแบบอ่อน โดยทั่วไปจะแสดงเป็นจำนวนความผิดพลาดต่อเวลา (Failures-in-Time หรือ FIT) หรือเวลาเฉลี่ยระหว่างความผิดพลาด (Mean Time Between Failures หรือ MTBF) หน่วยที่ใช้ในการวัดความผิดพลาดต่อเวลาเรียกว่า FIT ซึ่งเทียบเท่ากับความผิดพลาดหนึ่งครั้งต่อการทำงานของอุปกรณ์หนึ่งพันล้านชั่วโมง ส่วน MTBF มักจะแสดงเป็นปีของการทำงานของอุปกรณ์ เพื่อให้เห็นภาพชัดเจนขึ้น FIT หนึ่งหน่วยเท่ากับระยะเวลาระหว่างความผิดพลาดที่ยาวนานกว่า MTBF หนึ่งปีประมาณ 1,000,000,000 / (24 × 365.25) = 114,077 เท่า
แม้ว่าระบบอิเล็กทรอนิกส์หลายระบบจะมีค่า MTBF (Mean Time Between Failures) ที่สูงกว่าอายุการใช้งานที่คาดไว้ของวงจร แต่ค่า SER (Soft Error) ก็อาจยังไม่เป็นที่ยอมรับสำหรับผู้ผลิตหรือลูกค้า ตัวอย่างเช่น อาจคาดได้ว่าจะมีความล้มเหลวหลายครั้งต่อวงจรหนึ่งล้านวงจรเนื่องจากข้อผิดพลาดแบบอ่อน (soft error) ในภาคสนาม หากระบบไม่มีการป้องกันข้อผิดพลาดแบบอ่อนที่เพียงพอ ความล้มเหลวของผลิตภัณฑ์เพียงไม่กี่ชิ้นในภาคสนาม โดยเฉพาะอย่างยิ่งหากเป็นความล้มเหลวร้ายแรง อาจทำให้ชื่อเสียงของผลิตภัณฑ์และบริษัทที่ออกแบบเสียหายได้ นอกจากนี้ ในแอปพลิเคชันที่สำคัญต่อความปลอดภัยหรือต้นทุน ซึ่งต้นทุนของความล้มเหลวของระบบสูงกว่าต้นทุนของระบบเองมาก ความเสี่ยง 1% ของความล้มเหลวจากข้อผิดพลาดแบบอ่อนต่ออายุการใช้งานอาจสูงเกินไปจนลูกค้าไม่ยอมรับ ดังนั้น การออกแบบให้มีค่า SER ต่ำจึงเป็นประโยชน์เมื่อผลิตระบบในปริมาณมากหรือต้องการความน่าเชื่อถือสูงมาก
ดูเพิ่มเติม
อ่านเพิ่มเติม
- Ziegler, JF; Lanford, WA (1979). "ผลกระทบของรังสีคอสมิกต่อหน่วยความจำคอมพิวเตอร์". Science . 206 (4420): 776– 788. Bibcode : 1979Sci...206..776Z . doi : 10.1126 / science.206.4420.776 . ISSN 0036-8075 . PMID 17820742. S2CID 2000982 .
- Mukherjee, S., "การออกแบบสถาปัตยกรรมสำหรับข้อผิดพลาดที่ไม่รุนแรง", Elsevier, Inc., กุมภาพันธ์ 2551
- Mukherjee, S., "ความผิดพลาดของคอมพิวเตอร์จากข้อผิดพลาดแบบซอฟต์แวร์: ปัญหาที่มีวิธีแก้ไขหลายวิธี" Microprocessor Report, 19 พฤษภาคม 2551
ลิงก์ภายนอก
- ข้อผิดพลาดแบบอ่อนในหน่วยความจำอิเล็กทรอนิกส์ - เอกสารวิจัย - เอกสารสรุปที่ดีพร้อมเอกสารอ้างอิงมากมาย - Tezzaron มกราคม 2547 สรุปว่า 1,000–5,000 FIT ต่อเมกะบิต (0.2–1 ข้อผิดพลาดต่อวันต่อกิกะไบต์) เป็นอัตราข้อผิดพลาดแบบอ่อนทั่วไปของ DRAM
- ข้อดีของ Chipkill-Correct ECC สำหรับหน่วยความจำหลักของเซิร์ฟเวอร์พีซี - การอภิปรายเกี่ยวกับความน่าเชื่อถือของ SDRAM ในปี 1997 - ข้อมูลที่น่าสนใจบางส่วนเกี่ยวกับ "ข้อผิดพลาดแบบอ่อน" จากรังสีคอสมิกโดยเฉพาะอย่างยิ่งในส่วนที่เกี่ยวข้องกับรูปแบบรหัสแก้ไขข้อผิดพลาด
- ผลกระทบของข้อผิดพลาดแบบอ่อนต่อความน่าเชื่อถือของระบบ - Ritesh Mastipuram และ Edwin C. Wee, Cypress Semiconductor, 2004
- ปัญหาด้านการขยายขนาดและเทคโนโลยีสำหรับอัตราความผิดพลาดแบบอ่อน - เอ. จอห์นสตัน - การประชุมวิจัยประจำปีครั้งที่ 4 ด้านความน่าเชื่อถือ มหาวิทยาลัยสแตนฟอร์ด ตุลาคม 2543
- การประเมินข้อผิดพลาดอ่อนของ LSI ที่เกิดจากรังสีคอสมิกและอนุภาคอัลฟาจากโลก - H. Kobayashi, K. Shiraishi, H. Tsuchiya, H. Usuki (ทั้งหมดจาก Sony) และ Y. Nagai, K. Takahisa (มหาวิทยาลัยโอซาก้า), 2001
- เว็บไซต์เวิร์กช็อป SELSE - เว็บไซต์สำหรับเวิร์กช็อปเรื่องผลกระทบของข้อผิดพลาดทางตรรกะแบบอ่อนต่อระบบ
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ ข้อผิดพลาดแบบอ่อน
ในด้าน อิเล็กทรอนิกส์ และ คอมพิวเตอร์ ข้อ ผิดพลาดแบบอ่อน (Soft error ) คือ ข้อผิดพลาด ประเภทหนึ่งที่สัญญาณหรือข้อมูลไม่ถูกต้อง ข้อผิดพลาดอาจเกิดจาก ความบกพร่อง...
ประจุวิกฤต
การที่วงจรจะเกิดข้อผิดพลาดแบบอ่อนหรือไม่นั้น ขึ้นอยู่กับพลังงานของอนุภาคที่เข้ามา รูปทรงของการกระทบ ตำแหน่งของการกระทบ และการออกแบบของวงจรลอจิก วงจรลอจิกที่มี ค่าความจุ สูง และแรงดันลอจิกสูงจะมีโอกาสเกิดข้อผิดพลาดน้อยกว่า ค่าความจุและแรงดันนี้อธิบายได้ด้วย...
อนุภาคอัลฟาจากการเสื่อมสภาพของบรรจุภัณฑ์
ข้อผิดพลาดแบบอ่อน (Soft errors) เริ่มเป็นที่รู้จักกันอย่างแพร่หลายเมื่อมีการนำ หน่วยความจำแบบไดนามิก (Dynamic RAM) มาใช้ในทศวรรษ 1970 ในอุปกรณ์รุ่นแรกๆ เหล่านั้น วัสดุบรรจุภัณฑ์ชิปเซรามิกมีสารปนเปื้อนกัมมันตรังสีในปริมาณเล็กน้อย จำเป็น...
รังสีคอสมิกก่อให้เกิดนิวตรอนและโปรตอนที่มีพลังงานสูง
เมื่ออุตสาหกรรมอิเล็กทรอนิกส์ได้กำหนดวิธีการควบคุมสารปนเปื้อนในบรรจุภัณฑ์แล้ว ก็เป็นที่ชัดเจนว่ายังมีสาเหตุอื่นๆ อีกด้วย เจมส์ เอฟ.