ICE3028: Embedded Systems Design (Spring 2012)

[Projects]

  • Project #2 Topics
    • Submission status:
      • No delay: 양경보, 이승욱, 이종성, 정병수, 최성민, 김대중, 손효봉, 이종한, 한용섭, 김현준, 유현종, 이겨레, 이루리, 곽정헌, 안준욱, 유영준, 성청하, 정범원, 유용상, 이세환, 김진민, 김남형, 문명진, 박경철, 채희철, 하진용, 라영석, 이덕주
    • 라영석, 이덕주: CAFTL (★★★★★)
    • 채희철, 하진용: CAFTL (★★★★★)
    • 안준욱, 유영준: DeltaFTL (★★★★★)
    • 김진민, 김남형: FoO (★★★★★)
    • 손효봉, 이종한: Greedy, cost-benefit, and SFS-like policies on DFTL (★★★★★)
    • 이종성, 정병수: Hot/Cold Separation Policies (★★★★★)
    • 유용상, 이세환: Janus-FTL (★★★★)
    • 성청하, 정범원: Janus-FTL (★★★★)
    • 한용섭, 김현준: CFTL (★★★)
    • 최성민, 김대중: CFTL (★★★)
    • 문명진, 박경철: LAST (★★)
    • 이루리, 곽정헌: DFTL (★)
    • 양경보, 이승욱: DFTL (★)
    • 유현종, 이겨레: TBD
  • Project #1 : Log Block FTL
    • Score: project1_score.pdf. The test conditions were as follows:
      • The number of log blocks per bank was set as three.
      • There was no run-time bad block at all.
      • Test case #0 was added to verify the unwritten logical block was read with all 0s. ftl_test1.zip.
      • If you want to complain with the score, please come to #400629 taking your OpenSSD board if necessary.
    • Due: May 11, 11:59PM
    • Specification: project1.pdf
    • Base Firmware: OpenSSD-1.1.1.zip
    • Test cases: ftl_test.zip. To run test cases, see belows :
      • 0. Unzip ftl_test.zip into ./logblock_ftl directory
      • 1. Open ./build_gnu_win/Makefile and modify #16 line "SRC = ftl.c .." to "SRC = ftl_test.c ftl.c ..".
      • 2. Set OPTION_FTL_TEST macro in Jasmine.h as 1.
      • 3. Allocate 4MB DRAM for test cases. Write following codes into ./logblock_ftl/ftl.h (XXX_BUF_ADDR is the last allocated DRAM address) :
        • #define FTL_TEST_ADDR (XXX_BUF_ADDR + XXX_BUF_BYTES)
        • #define FTL_TEST_BYTES (4 * 1024 * 1024) // 4MB
      • 4. Please set your log blocks per bank as 3. (less than 10)
    • Submission status:
      • No delay: 양경보, 이승욱, 김대중, 최성민, 이종한, 손효봉, 채희철, 하진용, 김현준, 한용섭, 이세환, 유용상, 성청하, 정범원, 이종성, 정병수, 라영석, 이덕주, 안준욱, 유영준, 김진민, 김남형,
      • 1-day delay: 문명진, 박경철, 곽정헌, 이루리,
      • 2-day delay:
    • Notice
      • Please modify two lines from ./include/nand.h file as follows: (There are some nand flash modules with lots of bad blocks exceeding the number of spare blocks)
        • Line 74 #define _PBLKS_PER_BANK (4096-512)
        • Line 75 #define SPARE_PBLKS_PER_BANK (56+512)
      • mem_set_dram() and mem_set_sram() require 4-Byte value for the second argument of these functions
      • mem_set_dram() and _mem_set_dram() require the start address and the number of bytes that are multiple of 128-byte
      • SPARE_VBLKS_PER_BANK is defined in "./include/jasmine.h" header file