Cách thức thiết kế RAM, SRAM, DRAM

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts

  • Paddy
    replied
    Burn in I

    Nguyên văn bởi Rommel.de Xem bài viết
    Chào bạn Hithere123,

    Bài trước tớ viết nhầm. Tớ định viết efuse làm từ polysilicon chứ không phải kim loại mà không hiểu sao lại viết thành điện trở. Fib chip thì tớ cũng có biết nhưng không rõ người ta làm thế nào. Bạn có thể viết một bài để mọi người cùng tìm hiểu không.

    Nhân tiện tớ nói thêm một chút về test mode với các bạn. Ngoài mạch test để kiểm tra xem chip chạy đúng hay không người ta còn làm mạch burn in mode nữa. Mạch này chỉ dùng trong quá trình burn in. Tớ nghĩ bạn nào làm thiết kế cũng đều biết cái này rồi nhưng tớ muốn nói một chút để các bạn sinh viên có thể tìm hiểu.

    Người ta thấy nhiều chip thường hỏng trong thời gian sử dụng rất ngắn. Nếu trong thời gian này mà chip không hỏng thì nó sẽ sống rất lâu. Vậy nên người ta muốn chạy chip lúc đầu (giống như chạy rốt đa cho xe máy vậy) sau đó sẽ test lại. Nhưng nếu cứ chạy vậy thì lâu quá nên người ta phải làm ra cách chạy nhanh hơn đó là burn in mode. Trong chế độ burn in mode, điện áp được tăng cao, và mạch chạy hết công suất. Nó giống như ở nhà mọi người muối dưa, nếu trời ấm thì dưa sẽ chua nhanh hơn vậy. Người ta cho chip chạy chế độ burn in mode trong một thời gian, rồi test lại xem chip có chết không.

    Thiết kế burn in mode tương đối đơn giản. Trước hết phải thiết kế lại nguồn, vì ta cần cung cấp điện áp cao hơn cho mạch. Còn lại ta cứ để mạch chạy tối đa, đọc ghi dữ liệu thoải mái, và cũng không cần kiểm tra dữ liệu vào ra, vì sau khi burn in xong ta mới đem ra test lại. Nếu tớ không nhầm thì burn in cho waffer khá nhanh chỉ vài phút, đến vài chục phút, còn burn in cho package khá lâu, lên đến hàng giờ. Cái này chắc anh Paddy biết rõ hơn tớ.
    Tớ chưa nghe thấy burn in trên wafer vì làm sao mà đem điện vô một wafer mà có vài chục ngàn dice.

    Trong kỹ nghệ kêu mấy con chip chết non là infant mortality. Tùy theo kỹ nghệ (CMOS, Bipolar) và loại chíp, khoảng 20 năm trước thì RAM hay chết non trong khoảng 20-30 giờ đầu tiên. Sau đó thì đa số là chết già (chục năm dùng liên tục). Một số rất ít chết trong khoảng giữa.

    Để cho loại những con chết non, thì người ta dùng burn in. Kiểu như dân Thượng đem con mới sinh ra suối tắm. Đứa nào yếu là tỏi liền, không thì sống tới già luôn.

    Burn in có 2 lối chính. Dynamic và static.

    Dynamic: có xung vô chân input. Còn static thì mỗi chân được gắn vào nguồn như Vcc hay Gnd.

    Cả 2 đều có mục đích là tạo stress cho chip coi nó có mau chết không. Tuy nhiên nếu chỉ có stress không thì phải tốn rất nhiều thời gian để qua tuổi chết non (20-30 giờ). Để rút ngắn thời gian, người ta nâng nhiệt độ lên cao làm cho chip bị stress cao hơn. Cứ 1 giờ tại nhiệt độ X thì bằng vài giờ tại nhiệt độ thường (25C). Cái bảng nhiệt độ này tùy theo loại chip và kỹ nghệ cũng như hãng làm ra nó.

    Với 1 con SRAM thì burn in time cho đồ commercial là 12 giờ tại 128 C. Tại sao lại dùng 128C ? Vì kỹ nghệ lúc ấy đòi hỏi chip burn in tại 125C. Nếu dưới 125 độ bất cứ lúc nào trong 12 tiếng ấy thì phải làm lại từ đầu, 128C là để "trừ hao". Tức là 12h tại 125 độ mà không bị giảm nhiệt độ. Vcc thì thường là tại 5.75V. Ngoải ra mỗi con chip tại nhiệt độ ấy cần vài mA. Trên một bo burn in có vài trăm chip thì cần , thí dụ, 4.5A. Với con số này thì họ sẽ dùng cầu chì 5A. Nếu trong thời gian 12h mà cầu chì chết thì phải lập lại từ đầu. Tại sao không dùng 10A fuse ? Vì họ muốn biết coi con chip có chạy đúng với design không. Vì có nhiều con chip nâng nhiệt độ lên mà chạy quá giòng thì sẽ gây họa cho cái bo.

    Trong quá trình 12 tiếng, nhân viên phải mở cứa lò nướng (kêu là oven) để coi signal có đúng không khi nhiệt độ lên 128C và ngay sau khi xong 12h. Nếu mất xung, mất điện, cháy fuse, thì phải làm lại từ đầu.

    Có một hãng tớ làm burn in cho hàng SRAM của họ, số chết non là 80%. Cái này là kỹ nghệ 20 năm trước, bây giờ thì không biết.

    Cho đồ quân sự thì 153C (vì đòi hỏi tại 150C).

    Có loại burn in kêu là 85/85 tức là 85C tại độ ẩm 85%.

    Leave a comment:


  • Paddy
    replied
    Nguyên văn bởi hithere123 Xem bài viết
    Chào bạn Rommel.de,

    Poly chính là vật liệu để làm điện trở đấy, chứ không phải như bạn hiểu ở trên: polysilicon chứ không phải điện trở.

    Bạn đề cập việc dùng laser để đốt kim loại bốc hơi thì có lẽ nó giống thế này: Giả sử sau khi silicon out, IC có lỗi, người kỹ sư phải debug và đôi khi cần cắt vài dây nối chẳng hạn. Nếu chỉ phải cắt dây thôi và các dây đó nằm trên diện tích oxide cách ly giữa các linh kiện tích cực và không bị che ở phía trên bởi bất cứ lớp nào thì trên máy probe có gắn súng laser, bạn có thể điều chỉnh năng lượng để bắn xuyên thủng lớp oxide ở trên và bắn đứt đường dây nối kim loại luôn. Cái này chính là cách laser trim mà bác Paddy đã nói ở trên, chỉ có điều mình nói tới ứng dụng trong việc debug IC mà mấy anh em thiết kế thường gặp. Còn khi cần nối dây thì cần mở lớp oxide trước sau đó mới dùng dòng ion để nối dây, cái này gọi là đi làm FIB.

    Vài dòng trao đổi thêm,

    Thân mến.
    FIB hay Focused Ion Beam.

    Nó dùng để cắt hoặc đắp các dây điện. Và còn dùng để cắt qua lớp dielectric nữa.

    FIB chỉ là một trong những thứ máy móc dùng trong phần debug thôi. Tên của nhóm debug là FA hay Failure Analysis.


    Các bác có thể đọc thêm tại link dưới hay kiếm trên mạng dùng Focused Ion Beam

    Leave a comment:


  • Rommel.de
    replied
    Chào bạn Hithere123,

    Bài trước tớ viết nhầm. Tớ định viết efuse làm từ polysilicon chứ không phải kim loại mà không hiểu sao lại viết thành điện trở. Fib chip thì tớ cũng có biết nhưng không rõ người ta làm thế nào. Bạn có thể viết một bài để mọi người cùng tìm hiểu không.

    Nhân tiện tớ nói thêm một chút về test mode với các bạn. Ngoài mạch test để kiểm tra xem chip chạy đúng hay không người ta còn làm mạch burn in mode nữa. Mạch này chỉ dùng trong quá trình burn in. Tớ nghĩ bạn nào làm thiết kế cũng đều biết cái này rồi nhưng tớ muốn nói một chút để các bạn sinh viên có thể tìm hiểu.

    Người ta thấy nhiều chip thường hỏng trong thời gian sử dụng rất ngắn. Nếu trong thời gian này mà chip không hỏng thì nó sẽ sống rất lâu. Vậy nên người ta muốn chạy chip lúc đầu (giống như chạy rốt đa cho xe máy vậy) sau đó sẽ test lại. Nhưng nếu cứ chạy vậy thì lâu quá nên người ta phải làm ra cách chạy nhanh hơn đó là burn in mode. Trong chế độ burn in mode, điện áp được tăng cao, và mạch chạy hết công suất. Nó giống như ở nhà mọi người muối dưa, nếu trời ấm thì dưa sẽ chua nhanh hơn vậy. Người ta cho chip chạy chế độ burn in mode trong một thời gian, rồi test lại xem chip có chết không.

    Thiết kế burn in mode tương đối đơn giản. Trước hết phải thiết kế lại nguồn, vì ta cần cung cấp điện áp cao hơn cho mạch. Còn lại ta cứ để mạch chạy tối đa, đọc ghi dữ liệu thoải mái, và cũng không cần kiểm tra dữ liệu vào ra, vì sau khi burn in xong ta mới đem ra test lại. Nếu tớ không nhầm thì burn in cho waffer khá nhanh chỉ vài phút, đến vài chục phút, còn burn in cho package khá lâu, lên đến hàng giờ. Cái này chắc anh Paddy biết rõ hơn tớ.

    Leave a comment:


  • hithere123
    replied
    Chào bạn Rommel.de,

    Poly chính là vật liệu để làm điện trở đấy, chứ không phải như bạn hiểu ở trên: polysilicon chứ không phải điện trở.

    Bạn đề cập việc dùng laser để đốt kim loại bốc hơi thì có lẽ nó giống thế này: Giả sử sau khi silicon out, IC có lỗi, người kỹ sư phải debug và đôi khi cần cắt vài dây nối chẳng hạn. Nếu chỉ phải cắt dây thôi và các dây đó nằm trên diện tích oxide cách ly giữa các linh kiện tích cực và không bị che ở phía trên bởi bất cứ lớp nào thì trên máy probe có gắn súng laser, bạn có thể điều chỉnh năng lượng để bắn xuyên thủng lớp oxide ở trên và bắn đứt đường dây nối kim loại luôn. Cái này chính là cách laser trim mà bác Paddy đã nói ở trên, chỉ có điều mình nói tới ứng dụng trong việc debug IC mà mấy anh em thiết kế thường gặp. Còn khi cần nối dây thì cần mở lớp oxide trước sau đó mới dùng dòng ion để nối dây, cái này gọi là đi làm FIB.

    Vài dòng trao đổi thêm,

    Thân mến.

    Leave a comment:


  • Rommel.de
    replied
    Chào bạn Hithere123,

    Cám ơn thông tin bạn đưa. Đúng là tớ nhầm. Efuse người ta làm bằng polysilicon chứ không phải điện trở. Tớ thấy người ta dùng một đường poly rất mảnh để làm fuse, còn 2 đầu thì mạch rất to. Cái này cũng không có gì lạ vì khi ta đặt một dòng lớn lên đây mật độ dòng điện tại fuse rất cao nhưng tại mạch ngoài thì nhỏ hơn. Tớ tưởng nó cũng giống như laser fuse là sau khi bị một dòng điện lớn chạy qua thì nó bị bốc hơi nên điện trở tăng lên. Bạn nói nó thay đổi cấu trúc tinh thể nên tớ mới biết là không phải.

    Tớ nói laser fuse đốt kim loại bốc thành hơi là tớ cũng nghe nói vậy thôi chứ tớ có nhìn thấy bao giờ đâu. Nhưng dù sao nghe cũng có lý phải không bạn. Tớ thấy bạn biết nhiều hơn tớ, cả thiết kế lẫn chế tạo. Tớ chỉ biết thiết kế thôi.

    Anh Paddy, em nói laser fuse làm tăng điện trở là vì em biết mạch đọc laser fuse phân biệt mức 0, và 1 qua điện áp được tạo ra từ dòng điện chạy qua fuse. Em nghĩ có lẽ người ta không dám đốt 100% vì sợ đốt luôn xuống bên dưới. Còn nhôm thì đúng là bị oxi hóa nhưng ý của em là nhôm không sợ oxi hóa vì nó chỉ bị ở một lớp mỏng bề mặt, phần bên trong không sao. Còn đồng thì bị oxi hóa dần dần từ ngoài vào trong. Vậy nên công nghệ dùng dây đồng phải bọc kín lại.

    Leave a comment:


  • hithere123
    replied
    Chào bạn Rommel.de,

    Không biết mình hiểu có đúng ý bạn không, nhưng mô tả của bạn về eFuse hình như là có chút nhầm sang Fuse thông thường. Theo mình biết eFuse không phải là dùng dòng điện cao để "đốt" kim loại "bay hơi". Loại đốt kim loại là Fuse thông thường và mình cũng không thấy nó bay hơi. Chip đầu tiên trong đời của mình làm là LDO với dòng tiêu thụ thấp (1uA) và để thay đổi điện áp ra mình dùng Fuse để trim khối điện trở hồi tiếp. Fuse của mình có cấu tạo giống như hai đầu bút chì đấu đầu vào nhau, và khi có một dòng điện chạy qua thì phần tiết diện giữa hai đầu "bút chì" đó tiêu thụ công suất lớn nhất (điện trở lớn) và làm "đứt/tách rời" tiết diện (không bay hơi, làm đứt chủ yếu do co dãn của kim loại), do đó điện trở thay đổi từ 0 tới vô cùng. Nguyên lý giống hệt cầu chì trong các mạng điện chỉ khác là không ngửi thấy khói (tức là không bay hơi). Cách này rất cũ rồi và gần như hiện nay không ai dùng nữa do các yếu tố ký sinh.
    Còn eFuse mà bạn đề cập tới là công nghệ mới (gần đây thôi) chủ yếu dùng trong thiết kế số. Vật liệu dùng làm Fuse không hoàn toàn là kim loại mà là Poly được dope liều cao. Do đó tính dẫn điện của nó tốt gần bằng kim loại, khi có điện áp đặt vào hai đầu thì đặc tính dẫn điện của lớp vật liệu gần kim loại này thay đổi (cấu trúc tinh thể) làm cho nó không còn là kim loại nữa (tính dẫn điện kém đi). Mình chắc là bạn đề cập tới loại mới này. Tuy nhiên mình chưa từng làm qua nên cũng không thể nói nhiều hơn, hy vọng bác Paddy sẽ kiếm được ai rành về eFuse để mọi người cùng học hỏi theo.

    Thân mến.

    Leave a comment:


  • Paddy
    replied
    Nguyên văn bởi Rommel.de Xem bài viết
    Chào anh Paddy,

    Anh làm về công nghệ nên em nhân tiện hỏi anh một chút về efuse. Về laser fuse thì dễ hiểu rồi. Ta làm mấy đường kết nối ở lớp trên cùng. Sau này ta dùng tia laser chiếu vào mấy đường kết nối này, nó sẽ làm các đường kim loại đó bốc thành hơi gây ra hở mạch. Theo em biết thì nó chỉ làm tăng điện trở chứ không hở mạch hoàn toàn nhưng vậy cũng đã đủ để đọc dữ liệu ra. Khi chuyển sang công nghệ dùng đồng thay cho nhôm làm dây dẫn thì laser fuse không được sử dụng nữa. Nếu em không nhầm thì nhôm không sợ oxi hóa nên người ta để luôn ra bên ngoài có thể đốt dễ dàng. Đồng bị oxi hóa nên người ta phải bọc lại nên không thể đốt được nữa. Vậy là họ bắt đầu chuyển sang dùng efuse. Nhưng em không hiểu người ta dùng một dòng điện lớn để đốt các efuse này thì hơi kim loại thoát ra ngoài như thế nào. Nếu không có đường thoát, nó có gây ra nứt vỡ các lớp cánh điện cũng như kim loại trên chip không.

    Cám ơn anh.
    Bác hỏi ngay cái tớ không biết. Để tớ kiếm ai rành về cái efuse này đã.

    Bác hình như lộn về laser fuse với lại laser trim. Laser trim là dùng để chỉnh cái điện trở cho thật chính xác (nhưng trong VRef, ADC, DAC, resistor banks). Họ dùng laser đốt bớt một phần điện trở (một miếng phim kim loại thật mỏng). Khâu này làm trong lúc trong dạng wafer.

    Thêm một cái nữa là nhôm bị oxit hóa rất lẹ. Một tấm wafer chừng 1 giờ trong không khí thường là lớp nhôm bị oxit hóa liền. Nó chỉ khác các kim loại khác như đồng, sắt, là lớp oxit nhôm trở thành một lớp bảo vệ không cho phần nhôm phía dưới bị oxit hóa thêm.

    Leave a comment:


  • Rommel.de
    replied
    Chào anh Paddy,

    Anh làm về công nghệ nên em nhân tiện hỏi anh một chút về efuse. Về laser fuse thì dễ hiểu rồi. Ta làm mấy đường kết nối ở lớp trên cùng. Sau này ta dùng tia laser chiếu vào mấy đường kết nối này, nó sẽ làm các đường kim loại đó bốc thành hơi gây ra hở mạch. Theo em biết thì nó chỉ làm tăng điện trở chứ không hở mạch hoàn toàn nhưng vậy cũng đã đủ để đọc dữ liệu ra. Khi chuyển sang công nghệ dùng đồng thay cho nhôm làm dây dẫn thì laser fuse không được sử dụng nữa. Nếu em không nhầm thì nhôm không sợ oxi hóa nên người ta để luôn ra bên ngoài có thể đốt dễ dàng. Đồng bị oxi hóa nên người ta phải bọc lại nên không thể đốt được nữa. Vậy là họ bắt đầu chuyển sang dùng efuse. Nhưng em không hiểu người ta dùng một dòng điện lớn để đốt các efuse này thì hơi kim loại thoát ra ngoài như thế nào. Nếu không có đường thoát, nó có gây ra nứt vỡ các lớp cánh điện cũng như kim loại trên chip không.

    Cám ơn anh.

    Leave a comment:


  • Paddy
    replied
    Nguyên văn bởi Rommel.de Xem bài viết
    Chào anh Paddy,

    Anh đã biết những thứ test này cách đây hơn 20 năm thì em phải gọi anh là anh chắc rồi. Nếu em không nhầm thì anh làm việc bên công nghệ. Em làm việc bên thiết kế nên kiến thức về test của em cũng chỉ để làm thiết kế thôi. Em cũng không làm cho DRAM, chỉ là đọc sách và tìm hiểu về nó nên có thể một số điểm không được chính xác. Nếu anh biết thì chỉ ra giúp em.

    DRAM hiện nay có thể truyền dữ liệu với tốc độ 1.6GHz nhưng nếu em không nhầm thì các máy test cho DRAM đều hoạt động chậm hơn nhiều, hình như vài trăm MHz đã là cao. Có thể tại vì người ta đã mua các máy từ ngày trước và vẫn tiếp tục sử dụng. Cái này em không chắc lắm, anh có thể biết rõ hơn em. Còn test wafer nhanh và rẻ theo em biết là do phần cơ khí. Sau khi đặt wafer lên máy test, động cơ bước sẽ liên tiếp test các die để xác định các thông số cần căn chỉnh, cũng như die nào tốt, die nào hỏng. Sau này phần mềm sẽ tự động cắt die, đóng gói, và ghi các tham số căn chỉnh lên rom của chip. Nếu em không lầm thì người ta sử dụng laser fuse để tạo rom. Người ta ghi các dữ liệu căn chỉnh bằng cách dùng tia laser để đốt các đường kết nối trong fuse. Nếu dùng test package, hình như người ta phải đóng gói chip trước rồi đưa vào máy test. Nếu chip bị hỏng thì ta lãng phí tiền đóng gói, và việc liên tiếp nhặt các chip đưa vào máy test cũng lâu hơn việc dùng động cơ bước trên wafer. Cuối cùng là sau khi đã đóng gói thì ta không thể dùng laser để đốt chip được nữa.

    Việc chuyển từ 4 bit sang 128 bit nếu em không nhầm thì đúng là họ lặp lại. Ngoài ra cũng có thể họ sử dụng một số cách khác nhưng em không rõ.

    Kĩ thuật nén dữ liệu để đọc ra kiểm tra thì em biết chắc họ có làm anh ạ. Kỹ thuật này không cho anh biết chính xác lỗi nằm ở cell nhớ nào nhưng anh ít nhất biết được trong 1024 cell nhớ này có cell bị lỗi. Khi người ta thay thế bằng redundancy, người ta thay nguyên một wordline, hay một bitline nên cái này không có vấn đề gì. Thêm vào đó nếu anh muốn biết chính xác bit lỗi anh cũng có thể test lại 1024 bit lỗi đó thay vì test toàn bộ chip. Như vậy cũng nhanh hơn rất nhiều.

    Test bộ nhớ bao giờ người ta cũng test 0, 1, và 01 như anh nói. Nhưng đây chỉ là những test cơ bản thôi. Cái này không bao quát hết các lỗi trong bộ nhớ. Em cũng chỉ biết giải thuật test cho DRAM là một mảng advance chứ cụ thể thì em không biết. Ngoài ra đây chỉ là phần logic, còn các mạch khác như IO, nguồn cũng phải test khác.

    Chào anh.

    Tớ cũng như bác thôi. Toàn là đọc sách chứ chưa bao giờ ngồi viết test program hết. Tớ biết những thứ này là ngày xưa tớ làm cho phần burn-in nên cần phải biết những thứ này.

    Mấy tester tớ biết là đã lên tới 6GHz rồi.

    Khi nói tới tester thì có 2 speed. Speed của tester là thường ám chỉ vận tốc của bộ vi sử lý.

    Còn capture speed là chỉ vận tốc mà nó đo dữ kiện. Những thứ này dễ nâng cấp hơn vì nó chỉ là một cái bo nhỏ trong đầu tester thôi, và rẻ hơn rất nhiều so với mua cái tester mới chạy nhanh hơn.

    Có nhiều tester chạy chừng 400MHz, nhưng capture tới hàng GHz. Khi capture quá nhanh như vậy thì nó bỏ dữ kiện vô bộ nhớ của tester rồi bộ vi sử lý ngồi tính toán các dữ kiện này sau (vì CPU chạy quá chậm). Làm vậy thì đỡ tốn tiền hơn, nhưng mất thời gian hơn ---> tốn tiền cho test time.


    Vấn đề test nhanh chậm giữa wafer và chip cũng tùy loại nữa.

    1. Nếu bác chỉ test một con op amp thì mấy chưa tới 1 giây. Trường hợp này thì wafer sẽ nhanh hơn đối với chip. Lý do là cái prober nó cần chưa tới 1 giây để đi qua die khác. Trong khi handler (máy đặt chip vô chỗ test trên tester) thì mất tới vài giây để bỏ con chip mới vô test. Tức là thời gian đặt chíp hơn vài lần.

    2. Nếu bác test một con CPU mất cả phút, thì giữa wafer và chip hoàn toàn không khác nhau mấy vì cả hai đều phải chờ tester xong mới chạy tiếp được. Thơi gian đặt chip không đáng kể mấy.

    Vấn đề dùng lazer fuse cho rom thì tớ không biết. Nhưng hãng tớ khi program rom thì họ không dùng lazer. Họ dùng giòng điện cao để đốt mấy cái fuse này luôn, vì thế có thể làm ngay trong chip package.

    Tất cả các sản phẩm trong hãng tớ đều bị test qua wafer rồi sau đó đóng gói những die tốt rồi test lại lần nữa.

    Leave a comment:


  • Rommel.de
    replied
    Chào anh Paddy,

    Anh đã biết những thứ test này cách đây hơn 20 năm thì em phải gọi anh là anh chắc rồi. Nếu em không nhầm thì anh làm việc bên công nghệ. Em làm việc bên thiết kế nên kiến thức về test của em cũng chỉ để làm thiết kế thôi. Em cũng không làm cho DRAM, chỉ là đọc sách và tìm hiểu về nó nên có thể một số điểm không được chính xác. Nếu anh biết thì chỉ ra giúp em.

    DRAM hiện nay có thể truyền dữ liệu với tốc độ 1.6GHz nhưng nếu em không nhầm thì các máy test cho DRAM đều hoạt động chậm hơn nhiều, hình như vài trăm MHz đã là cao. Có thể tại vì người ta đã mua các máy từ ngày trước và vẫn tiếp tục sử dụng. Cái này em không chắc lắm, anh có thể biết rõ hơn em. Còn test wafer nhanh và rẻ theo em biết là do phần cơ khí. Sau khi đặt wafer lên máy test, động cơ bước sẽ liên tiếp test các die để xác định các thông số cần căn chỉnh, cũng như die nào tốt, die nào hỏng. Sau này phần mềm sẽ tự động cắt die, đóng gói, và ghi các tham số căn chỉnh lên rom của chip. Nếu em không lầm thì người ta sử dụng laser fuse để tạo rom. Người ta ghi các dữ liệu căn chỉnh bằng cách dùng tia laser để đốt các đường kết nối trong fuse. Nếu dùng test package, hình như người ta phải đóng gói chip trước rồi đưa vào máy test. Nếu chip bị hỏng thì ta lãng phí tiền đóng gói, và việc liên tiếp nhặt các chip đưa vào máy test cũng lâu hơn việc dùng động cơ bước trên wafer. Cuối cùng là sau khi đã đóng gói thì ta không thể dùng laser để đốt chip được nữa.

    Việc chuyển từ 4 bit sang 128 bit nếu em không nhầm thì đúng là họ lặp lại. Ngoài ra cũng có thể họ sử dụng một số cách khác nhưng em không rõ.

    Kĩ thuật nén dữ liệu để đọc ra kiểm tra thì em biết chắc họ có làm anh ạ. Kỹ thuật này không cho anh biết chính xác lỗi nằm ở cell nhớ nào nhưng anh ít nhất biết được trong 1024 cell nhớ này có cell bị lỗi. Khi người ta thay thế bằng redundancy, người ta thay nguyên một wordline, hay một bitline nên cái này không có vấn đề gì. Thêm vào đó nếu anh muốn biết chính xác bit lỗi anh cũng có thể test lại 1024 bit lỗi đó thay vì test toàn bộ chip. Như vậy cũng nhanh hơn rất nhiều.

    Test bộ nhớ bao giờ người ta cũng test 0, 1, và 01 như anh nói. Nhưng đây chỉ là những test cơ bản thôi. Cái này không bao quát hết các lỗi trong bộ nhớ. Em cũng chỉ biết giải thuật test cho DRAM là một mảng advance chứ cụ thể thì em không biết. Ngoài ra đây chỉ là phần logic, còn các mạch khác như IO, nguồn cũng phải test khác.

    Chào anh.

    Leave a comment:


  • Paddy
    replied
    Nguyên văn bởi Rommel.de Xem bài viết
    Chào bạn Hithere123,

    Đúng như bạn nói test cho DRAM chính là MBIST nhưng đây là một trong những kỹ thuật rất khó chứ không đơn giản như bạn nói đâu. Để test một chíp DRAM bạn có thể đơn giản ghi dữ liệu vào chip rồi đọc ra kiểm tra xem đúng hay sai nhưng nếu làm như vậy thì thời gian sẽ rất lâu và tiền sử dụng các máy test đã quá giá tiền một chip DRAM rồi. Tớ cũng chỉ là đọc sách thôi chứ chưa bao giờ làm về test mode cho DRAM nhưng cũng giới thiệu với các bạn một chút để biết.
    Tớ cũng vậy, và đây là những thứ tớ đọc lâu rồi.

    Theo như tớ biết lỗi của DRAM thường xảy ra nhất ở trên mảng phần tử nhớ. Vì vậy DRAM thường tập trung vào test wafer. Test wafer nhanh hơn và rẻ tiền hơn test packet nên đây cũng là một ưu điểm. Với việc test wafer, các bạn chỉ có một ít probe, nên tín hiệu vào ra rất hạn chế. Thêm vào đó tốc độ truyền tín hiệu cho test wafer chậm (có lẽ test nhanh cũng được nhưng thiết bị đắt tiền) nên mọi thứ phải tập trung vào trong DRAM.
    Bác lầm cái này rồi.

    1. DRAM trên wafer bác test từng die một. Trong package thì cả chục die nằm trong đó (dung lượng lớn hơn) do đó thời gian test sẽ lâu hơn. Vài chục năm trước thì 1 package là 1 die, bây giờ thì 1 package có cả chục dice nằm chồng lên nhau.

    2. Tớ không hiểu rõ bác có ý gì . Trên thì nói test wafer nhanh hơn, dưới thì nói tốc độ truyền tín hiệu cho test wafer chậm. Trong kỹ nghệ này họ dùng một máy test (kêu là tester) cho wafer và chip, do đó tốc độ tín hiệu đều nhanh như nhau hết (trừ khi bác tính từ chân chíp đi vô thêm một khúc nữa).

    3. Một tester chỉ chạy với một vận tốc tối đa nào đó. Khi người ta mua tester cho một loại sản phẩm nào đó thì họ đã tính trước là cần loại tester chạy như thế nào rồi, đâu phải mua về rồi mới tính chuyện mua thêm thiết bị cho tăng tốc độ.

    Các chip DRAM thông thường có 3 cấu trúc dữ liệu 4x, 8x, và 16x tương đương với số chân dữ liệu vào ra. Người dùng có thể lựa chọn cấu trúc tùy theo mục đích sử dụng bằng cách thay đổi điện áp 2 chân điều khiển. Thông thường kiểu 4x dùng cho máy chủ, vì máy chủ cần nhiều RAM. Ta có thể đặt 16 chip RAM song song mới tạo ra một kênh dữ liệu 64 bit. Kiểu 8x dùng cho máy bàn, và kiểu 16x dùng cho laptop (vì laptop cần nhỏ gọn ít tốn điện nên chỉ cần 4 chip nhớ đã tạo nên một đường dữ liệu 64 bit). Loại DDR3 hiện này có tốc độ dữ liệu bên ngoài chip cao gấp 8 lần bên trong chip (thông qua mạch chuyển đổi song song nối tiếp) nên đường truyền dữ liệu bên trong cũng lớn hơn bên ngoài 8 lần tức là 128 bit. Theo như tớ biết khi ghi dữ liệu vào RAM, người ta chỉ ghi 4 bit đầu vào nhưng bên trong RAM, nó tự động lặp lại thành 128 bit. Như vậy tức là 1 lúc ta test được 128 bit.
    Ý bác là cho 4 bit data làm 32 lần để ra 128 bit phải không ?

    Địa chỉ có thể được tạo dễ dàng bên trong bằng cách sử dụng bộ đếm. Ngoài ra vì người ta sử dụng redundancy cho mảng phần tử nhớ, nên ngay cả khi phát hiện chip có lỗi, ta cũng phải biết lỗi nằm ở đâu để thay thế bằng redundancy. Mạch test không thể liên tục kiểm tra dữ liệu được đọc ra nên người ta làm một mạch nén lỗi. Ví dụ như dữ liệu 1024 bit được nén lại thành 16 bit để kiểm tra. Kĩ thuật này hơi giống việc sử dụng CRC để kiểm tra xem 1 file có bị lỗi hay không vậy. Mấy kĩ thuật này chỉ đơn giản để test nhanh và đơn giản rẻ tiền.
    CRC tớ dùng cho wafer map chỉ cho biết là sai thôi chứ không biết sai chỗ nào. Bác dùng loại CRC nào ?

    Bây giờ mình giới thiệu cụ thể hơn về test mảng nhớ. Test mảng nhớ khác xa so với test logic. Test logic thường chỉ có 2 kiểu lỗi (stuck at 1 and stuck at 0). Tức là giá trị lúc nào cũng là 0 hoặc lúc nào cũng là 1. Nếu các phần tử nhớ cũng vậy thì quá dễ, cứ ghi vào đọc ra là biết liền. Nhưng DRAM hoàn toàn khác. Mỗi phần tử nhớ của DRAM có một thời gian lưu trữ dữ liệu gọi là retention time. Sau khoảng thời gian này DRAM không thể lưu trữ dữ liệu được nữa (vì vậy mới cần refresh). Thời gian này phụ thuộc chủ yếu vào dòng điện rò và có thể được biểu diễn bằng một hàm xác suất người ta hay gọi là tail distribution function. Trong cả tỉ đơn vị nhớ, chỉ có một số rất ít đơn vị có thời gian lưu trữ rất kém những chính chúng lại là nguyên nhân gây ra lỗi trong DRAM, và ta phải tìm ra những phần tử này.

    Nếu bạn có thời gian đọc quyển sách mình giới thiệu thì sẽ thấy trong DRAM có rất nhiều nguồn điện áp khác nhau. Điện áp dành cho dữ liệu là VBLH (với giá trị 1), GND (với giá trị 0), VBLEQ=1/2 VBLH (để sensing, và equalizing), điện áp đóng mở transistor (wordline) VPP để mở, VNWLL (để đóng), và điện áp chân đế VBB. Tớ chỉ tạm nói đến 2 giá trị điện áp VBB, và VNWLL thôi. Hai nguồn này có giá trị cỡ khoảng -0.2V nhưng lại hết sức quyết định giá trị dòng điện rò. Điện áp chân đế VBB đặt giá trị âm để theo hiệu ứng body effect, threshold voltage tăng lên làm giảm dòng subthreshold leakage current. Tuy nhiên nếu giá trị này quá âm thì dòng tunneling PN junction lại tăng lên. Tương tự như vậy VNWLL càng âm thì dòng subthreshold leakage current càng giảm nhưng dòng GIDL lại tăng. Chính vì thế khi test DRAM người ta phải xác định cực kì chính xác 2 điện áp này nhưng đây lại là điều rất khó.

    Ngoài ra lỗi trong DRAM có thể xảy ra theo kiểu đọc và kiểu ghi khác nhau. Tớ giới thiệu với các bạn một ví dụ. Giả sử bạn đọc/ghi một giá trị, bạn phải mở đường wordline của cell nhớ đó. Tuy nhiên do ảnh hưởng của điện dung ký sinh, điện áp của đường wordline bên cạnh cũng hơi tăng lên. Vậy là dòng subthreshold leakage current của các cell bên cạnh cũng tăng lên và làm giảm retention time. Vì vậy người ta mới đưa ra những kiểu test cạnh, test góc, test điểm...

    Một điểm nữa phải nói là nhiễu. Nhiễu có thể làm lỗi quá trình sensing của DRAM. Những nhiễu không phải lúc nào cũng có. Có thể lúc bạn test thì không sao nhưng sau này lại lỗi. Vì vậy người ta cũng có cách để test các nguồn nhiễu trong DRAM đặc biệt là cross talk.

    Một phần nữa rất khó đó là test DLL và các IO. DRAM bây giờ làm việc với tốc độ lên đến 1.6GHz nên calibrate các đường delay, cũng như input/output impedance là rất quan trọng. Cái này không khác gì mấy chip tốc độ cao như CPU, nhưng ta lại phải test rẻ tiền. Nếu tớ không nhầm thì cả DLL, và IO đếu có thể tự động căn chỉnh ở bên trong chip. Cái này tớ thật sự không biết họ làm thế nào.

    MBIST bạn nói là vi điều khiển thì cũng được nhưng tớ sợ nhiều người sẽ nhầm lẫn. Nó không hoạt động theo kiểu đọc lệnh, thực hiện lệnh, ghi dữ liệu vì sự hạn chế rất lớn ở đầu vào. Nó chỉ là một mạch ASIC hoạt động theo FSM, và điều quan trọng nhất là phải test nhiều nhất, nhanh nhất, và ít phải dao tiếp ra bên ngoài nhất
    Trong kỹ thuật test DRAM và SRAM thì có walking 1s, walking 0s, và checker. Walking 1s là ghi 1 vô hết rồi đọc coi có 1 ra không. Walking 0s thì dùng 0. Checker thì xen kẽ 1 và 0.

    Một phần test nữa là viết vô 1 cell rồi coi giá trị của 2 cell nằm bên cạnh cell bị viết có thay đổi không.

    Những thứ tớ biết là hơn 20 năm rồi, bây giờ không rõ họ dùng cách nào để giảm giờ test.

    Leave a comment:


  • Rommel.de
    replied
    Chào các bạn,

    Tớ đoán bạn Laptrinhc++, và bạn Redcode1810 đang là sinh viên làm đố án, hay luận văn. Tớ nói thật có khi thầy của các bạn cũng không biết DRAM được thiết kế thế nào, bạn nó A ông thầy cũng chẳng giám nói B. Nếu chỉ là một đồ án sinh viên thông thường, bạn chỉ cần thiết kế một array với vài chức năng cơ bản là đủ. Tớ nghĩ cái này phù hợp với sinh viên. Còn nếu các bạn muốn làm một cái gì đó innovative một chút thì chỉ nên chọn một mẩu trong DRAM ví dụ Primary Sense Amplifier là đủ. Còn nếu như bạn muốn nói đủ thứ về DRAM như DDR3, RAMBUS thì tớ nghĩ các bạn hiểu được quyển sách mình giới thiệu đã là quá giỏi rồi.

    Leave a comment:


  • hithere123
    replied
    Chào bạn Rommel.de,

    Xin đính chính với bạn một chút sợ bạn hiểu nhầm ý của mình. Mình nói MBIST đơn giản là về mặt nguyên lý hoạt động mà thôi, chứ mình không nói thực hiện nó là đơn giản. Mình chỉ làm khoảng 4MB nhớ thôi mà đã đau đầu lắm rồi chứ chưa nói tới dung lượng lên tới cả GB.

    Đúng như bạn nói, phần điều khiển của MBIST thực chất là các FSM tuy nhiên theo mình biết các FSM này có thể lập trình được qua firmware và mình bổ xung thêm là đối với những bộ nhớ có yêu cầu độ an toàn về dữ liệu cao (gần như là zero lỗi) thì nó cần tích hợp thêm nhiều chức năng nữa, chính vì thế mình mới nâng nó lên thành gần giống như một vi điều khiển. Nghe thì có vẻ vô lý vì làm gì có bộ nhớ nào đảm bảo không có bit lỗi nào với tất cả các wafer, tất cả các lần test, nhưng trong một vài ứng dụng đặc biệt ví dụ chip dùng trong ô tô chẳng hạn, khi các phần khác nhau của hệ thống liên lạc điện tử tương tác với nhau, giả sử có một bit lỗi, rất có thể lệnh điều khiển cơ khí sẽ sai và dẫn tới hậu quả rất nghiêm trọng, do đó với những ứng dụng đặc thù như vậy thì chip giao cho khách hàng phải đảm bảo lỗi là zero (trong 10 năm chẳng hạn.)

    Tóm lại, những trao đổi của bạn ở trên đều rất đúng, chính vì vậy mà thiết kế bộ nhớ gần như là một lĩnh vực riêng trong thiết kế số nói chung. Và trong thiết kế bộ nhớ thì thiết kế phần râu ria tốn nhiều công hơn thiết kế cấu trúc một phần tử nhớ nhiều (một cách tương đối). Cấu trúc của một phần tử nhớ thông thường sẽ là kết quả của việc nghiên cứu mức concept cùng với công nghệ, cái này cần đi sâu về vật lý một chút, ví dụ như dòng subthreshold mà bạn nói chính là hiện tượng điện tử đi xuyên qua được gate oxide, tuy nhiên một cấu trúc ra đời thì tuổi thọ mà nó tồn tại trên thị trường sẽ khá lâu, cùng một cấu trúc nhưng có thể trải qua đến vài đời thay đổi công nghệ. Trong khi đó thiết kế phần râu ria lại cần thích ứng theo sự thay đổi của công nghệ, và mỗi công ty sẽ có những kỹ thuật khác nhau. Chỉ riêng phần thiết kế đảm bảo điện áp (thường là cấu trúc charge-pump) cho hoạt động ghi/đọc/xóa đã rất khó chịu rồi chứ chưa nói tới các phần khác.

    Với kinh nghiệm của bản thân mình, chỉ tính riêng phần thiết kế số của MBIST (chưa nói tới thiết kế cấu trúc ở mức concept) thì phần timing là đau đầu nhất vì MBIST thường bị yêu cầu hoạt động ở tần số cao hơn tần số hoạt động bình thường của chip, do đó phân tích timing (STA) thường được tách riêng và cũng tốn khá nhiều sức.

    Một vài dòng trao đổi thêm như vậy, hy vọng sẽ có thêm những trao đổi tương tự như thế này với bạn trong tương lai

    Thân mến.

    Leave a comment:


  • Rommel.de
    replied
    Chào bạn Hithere123,

    Đúng như bạn nói test cho DRAM chính là MBIST nhưng đây là một trong những kỹ thuật rất khó chứ không đơn giản như bạn nói đâu. Để test một chíp DRAM bạn có thể đơn giản ghi dữ liệu vào chip rồi đọc ra kiểm tra xem đúng hay sai nhưng nếu làm như vậy thì thời gian sẽ rất lâu và tiền sử dụng các máy test đã quá giá tiền một chip DRAM rồi. Tớ cũng chỉ là đọc sách thôi chứ chưa bao giờ làm về test mode cho DRAM nhưng cũng giới thiệu với các bạn một chút để biết.

    Theo như tớ biết lỗi của DRAM thường xảy ra nhất ở trên mảng phần tử nhớ. Vì vậy DRAM thường tập trung vào test wafer. Test wafer nhanh hơn và rẻ tiền hơn test packet nên đây cũng là một ưu điểm. Với việc test wafer, các bạn chỉ có một ít probe, nên tín hiệu vào ra rất hạn chế. Thêm vào đó tốc độ truyền tín hiệu cho test wafer chậm (có lẽ test nhanh cũng được nhưng thiết bị đắt tiền) nên mọi thứ phải tập trung vào trong DRAM.

    Các chip DRAM thông thường có 3 cấu trúc dữ liệu 4x, 8x, và 16x tương đương với số chân dữ liệu vào ra. Người dùng có thể lựa chọn cấu trúc tùy theo mục đích sử dụng bằng cách thay đổi điện áp 2 chân điều khiển. Thông thường kiểu 4x dùng cho máy chủ, vì máy chủ cần nhiều RAM. Ta có thể đặt 16 chip RAM song song mới tạo ra một kênh dữ liệu 64 bit. Kiểu 8x dùng cho máy bàn, và kiểu 16x dùng cho laptop (vì laptop cần nhỏ gọn ít tốn điện nên chỉ cần 4 chip nhớ đã tạo nên một đường dữ liệu 64 bit). Loại DDR3 hiện này có tốc độ dữ liệu bên ngoài chip cao gấp 8 lần bên trong chip (thông qua mạch chuyển đổi song song nối tiếp) nên đường truyền dữ liệu bên trong cũng lớn hơn bên ngoài 8 lần tức là 128 bit. Theo như tớ biết khi ghi dữ liệu vào RAM, người ta chỉ ghi 4 bit đầu vào nhưng bên trong RAM, nó tự động lặp lại thành 128 bit. Như vậy tức là 1 lúc ta test được 128 bit.

    Địa chỉ có thể được tạo dễ dàng bên trong bằng cách sử dụng bộ đếm. Ngoài ra vì người ta sử dụng redundancy cho mảng phần tử nhớ, nên ngay cả khi phát hiện chip có lỗi, ta cũng phải biết lỗi nằm ở đâu để thay thế bằng redundancy. Mạch test không thể liên tục kiểm tra dữ liệu được đọc ra nên người ta làm một mạch nén lỗi. Ví dụ như dữ liệu 1024 bit được nén lại thành 16 bit để kiểm tra. Kĩ thuật này hơi giống việc sử dụng CRC để kiểm tra xem 1 file có bị lỗi hay không vậy. Mấy kĩ thuật này chỉ đơn giản để test nhanh và đơn giản rẻ tiền.

    Bây giờ mình giới thiệu cụ thể hơn về test mảng nhớ. Test mảng nhớ khác xa so với test logic. Test logic thường chỉ có 2 kiểu lỗi (stuck at 1 and stuck at 0). Tức là giá trị lúc nào cũng là 0 hoặc lúc nào cũng là 1. Nếu các phần tử nhớ cũng vậy thì quá dễ, cứ ghi vào đọc ra là biết liền. Nhưng DRAM hoàn toàn khác. Mỗi phần tử nhớ của DRAM có một thời gian lưu trữ dữ liệu gọi là retention time. Sau khoảng thời gian này DRAM không thể lưu trữ dữ liệu được nữa (vì vậy mới cần refresh). Thời gian này phụ thuộc chủ yếu vào dòng điện rò và có thể được biểu diễn bằng một hàm xác suất người ta hay gọi là tail distribution function. Trong cả tỉ đơn vị nhớ, chỉ có một số rất ít đơn vị có thời gian lưu trữ rất kém những chính chúng lại là nguyên nhân gây ra lỗi trong DRAM, và ta phải tìm ra những phần tử này.

    Nếu bạn có thời gian đọc quyển sách mình giới thiệu thì sẽ thấy trong DRAM có rất nhiều nguồn điện áp khác nhau. Điện áp dành cho dữ liệu là VBLH (với giá trị 1), GND (với giá trị 0), VBLEQ=1/2 VBLH (để sensing, và equalizing), điện áp đóng mở transistor (wordline) VPP để mở, VNWLL (để đóng), và điện áp chân đế VBB. Tớ chỉ tạm nói đến 2 giá trị điện áp VBB, và VNWLL thôi. Hai nguồn này có giá trị cỡ khoảng -0.2V nhưng lại hết sức quyết định giá trị dòng điện rò. Điện áp chân đế VBB đặt giá trị âm để theo hiệu ứng body effect, threshold voltage tăng lên làm giảm dòng subthreshold leakage current. Tuy nhiên nếu giá trị này quá âm thì dòng tunneling PN junction lại tăng lên. Tương tự như vậy VNWLL càng âm thì dòng subthreshold leakage current càng giảm nhưng dòng GIDL lại tăng. Chính vì thế khi test DRAM người ta phải xác định cực kì chính xác 2 điện áp này nhưng đây lại là điều rất khó.

    Ngoài ra lỗi trong DRAM có thể xảy ra theo kiểu đọc và kiểu ghi khác nhau. Tớ giới thiệu với các bạn một ví dụ. Giả sử bạn đọc/ghi một giá trị, bạn phải mở đường wordline của cell nhớ đó. Tuy nhiên do ảnh hưởng của điện dung ký sinh, điện áp của đường wordline bên cạnh cũng hơi tăng lên. Vậy là dòng subthreshold leakage current của các cell bên cạnh cũng tăng lên và làm giảm retention time. Vì vậy người ta mới đưa ra những kiểu test cạnh, test góc, test điểm...

    Một điểm nữa phải nói là nhiễu. Nhiễu có thể làm lỗi quá trình sensing của DRAM. Những nhiễu không phải lúc nào cũng có. Có thể lúc bạn test thì không sao nhưng sau này lại lỗi. Vì vậy người ta cũng có cách để test các nguồn nhiễu trong DRAM đặc biệt là cross talk.

    Một phần nữa rất khó đó là test DLL và các IO. DRAM bây giờ làm việc với tốc độ lên đến 1.6GHz nên calibrate các đường delay, cũng như input/output impedance là rất quan trọng. Cái này không khác gì mấy chip tốc độ cao như CPU, nhưng ta lại phải test rẻ tiền. Nếu tớ không nhầm thì cả DLL, và IO đếu có thể tự động căn chỉnh ở bên trong chip. Cái này tớ thật sự không biết họ làm thế nào.

    MBIST bạn nói là vi điều khiển thì cũng được nhưng tớ sợ nhiều người sẽ nhầm lẫn. Nó không hoạt động theo kiểu đọc lệnh, thực hiện lệnh, ghi dữ liệu vì sự hạn chế rất lớn ở đầu vào. Nó chỉ là một mạch ASIC hoạt động theo FSM, và điều quan trọng nhất là phải test nhiều nhất, nhanh nhất, và ít phải dao tiếp ra bên ngoài nhất

    Leave a comment:


  • hithere123
    replied
    Chào bạn Rommel.de,

    Không biết khái niệm test ram của bạn có phải là MBIST (mem buit-in seft test) không. Nếu đúng thì mình có biết chút ít về anh này, xin chia sẻ như sau:

    Về mặt khái niệm, MBIST là một kỹ thuật bao gồm cả phần cứng và phần mềm, cho phép nhà sản xuất hoặc/và người sử dụng có thể kiểm tra bộ nhớ một cách tự động. Nguyên lý thì không có gì phức tạp lắm, MBIST sẽ tự động quét toàn bộ giải địa chỉ của bộ nhớ, đưa dữ liệu vào và đo dữ liệu ra, nếu có sai khác thì đánh dấu địa chỉ lỗi lại. Thông thường MBIST sẽ chạy với tần số cao hơn tần số hoạt động, có thể test ở bước wafer test, trong khoảng thời gian chip khởi động, thậm chí trong khoảng thời gian chíp đang hoạt động bình thường.

    Tại sao mình nói đây là một kỹ thuật gồm cả phần cứng và phần mềm là bởi kỹ thuật này cho phép lập trình firmware để cấu hình MBIST. Ví dụ, tại nhà sản xuất sau khi wafer test, MBIST báo cáo ra một danh sách những địa chỉ bị lỗi, danh sách này có thể sẽ gửi cho người sử dụng để nhúng vào phần firmware khởi động (lưu trong ROM), tự động báo cho hệ thống biết chỗ nào của bộ nhớ bị lỗi để đưa ra các hướng xử lý phù hợp và update lại danh sách lỗi của MBIST. Nói chung MBIST là một kỹ thuật khá linh hoạt, về phần cứng có thể ví nó như một vi điều khiển nhỏ. Do đó có thể hiểu MBIST là một khối độc lập gắn bên ngoài của khối bộ nhớ.

    Đứng về mặt bộ nhớ nói chung thì ngoài các khối đảm bảo chức năng ghi/đọc/xóa cơ bản thường có thêm một số phần có liên quan đến MBIST như bit kiểm tra chẵn lẻ, các thanh ghi "dư thừa" để dùng sửa lỗi các bit nhớ sai lỗi, ...

    Trên đây là cách hiểu rất sơ sài về bộ nhớ mà mình có cơ hội làm qua, hy vọng sẽ có thêm cơ hội trao đổi với mọi người về lĩnh vực thiết kế bộ nhớ, nhất là phần tương tự trong các bộ nhớ.

    Thân mến.

    Leave a comment:

Về tác giả

Collapse

redcode1810 Tìm hiểu thêm về redcode1810

Bài viết mới nhất

Collapse

Đang tải...