9 research outputs found

    Reducing SSD Read Latency via NAND Flash Program and Erase Suspension

    Get PDF
    Abstract In NAND flash memory, once a page program or block erase (P/E) command is issued to a NAND flash chip, the subsequent read requests have to wait until the timeconsuming P/E operation to complete. Preliminary results show that the lengthy P/E operations may increase the read latency by 2x on average. As NAND flashbased SSDs enter the enterprise server storage, this increased read latency caused by the contention may significantly degrade the overall system performance. Inspired by the internal mechanism of NAND flash P/E algorithms, we propose in this paper a low-overhead P/E suspension scheme, which suspends the on-going P/E to service pending reads and resumes the suspended P/E afterwards. In our experiments, we simulate a realistic SSD model that adopts multi-chip/channel and evaluate both SLC and MLC NAND flash as storage materials of diverse performance. Our experimental results show that the proposed technique achieves a near-optimal performance gain on servicing read requests. Specifically, the read latency is reduced on average by 50.5% compared to RPS and 75.4% compared to FIFO at cost of less than 4% overhead on write requests

    ํ”Œ๋ž˜์‹œ๋ฉ”๋ชจ๋ฆฌ ์ €์žฅ์žฅ์น˜๋ฅผ ์œ„ํ•œ ๋ฆฌ์…‹ ๊ธฐ๋ฐ˜์˜ ์ฝ๊ธฐ ์„ฑ๋Šฅ ์ตœ์ ํ™” ๊ธฐ๋ฒ•

    Get PDF
    ํ•™์œ„๋…ผ๋ฌธ (์„์‚ฌ)-- ์„œ์šธ๋Œ€ํ•™๊ต ๋Œ€ํ•™์› : ๊ณต๊ณผ๋Œ€ํ•™ ์ปดํ“จํ„ฐ๊ณตํ•™๋ถ€, 2018. 2. ๊น€์ง€ํ™.๋ณธ ์—ฐ๊ตฌ์—์„œ๋Š” ๊ธฐ์กด์˜ ์ฝ๊ธฐ ์‘๋‹ต์‹œ๊ฐ„์˜ ์ตœ์ ํ™” ๊ธฐ๋ฒ•๋“ค์„ ์†Œ๊ฐœํ•˜๊ณ  ๊ธฐ์กด ๊ธฐ๋ฒ•์˜ ํ•œ๊ณ„๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•œ ๋ฆฌ์…‹ ๋ช…๋ น์„ ์ œ์•ˆํ•œ๋‹ค. ๋˜ํ•œ ๊ธฐ์กด ๊ธฐ๋ฒ•๋“ค๊ณผ ์ƒˆ๋กญ๊ฒŒ ์ œ์•ˆํ•˜๋Š” ๋ฆฌ์…‹ ๋ช…๋ น์„ ํ†ตํ•ฉ ์ ์šฉํ•˜์—ฌ ์‹คํ—˜์„ ์ง„ํ–‰ํ•˜๊ณ  ๊ฐ ๊ธฐ๋ฒ•์˜ ์žฅ์ ๊ณผ ๋‹จ์ ์„ ๋น„๊ต ๋ถ„์„ํ•˜์˜€๋‹ค. ๋ฆฌ์…‹ ๋ช…๋ น์€ ์ฝ๊ธฐ ์š”์ฒญ์ด ์“ฐ๊ธฐ/์†Œ๊ฑฐ๊ฐ€ ์ง„ํ–‰์ค‘์ธ ์นฉ์„ ์„ ์ ํ•˜๋Š”๋ฐ ๊นŒ์ง€ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์ด ์ผ์‹œ์ •์ง€์— ๋น„ํ•˜์—ฌ ๋น ๋ฅด์ง€๋งŒ, ์ˆ˜๋ช…์„ ๋‹จ์ถ•์‹œํ‚ค๋Š” ๋ฌธ์ œ๊ฐ€ ์กด์žฌํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ์ค‘์š”ํ•œ ์ฝ๊ธฐ์— ๋Œ€ํ•ด์„œ๋งŒ ์„ ํƒ์ ์œผ๋กœ ์ ์šฉํ•  ๊ฒƒ์„ ์ œ์•ˆํ•˜์˜€๋‹ค. ๋ณธ ๋…ผ๋ฌธ์—์„œ ์ œ์•ˆํ•˜๋Š” ์šฐ์„ ์ˆœ์œ„ ๊ธฐ๋ฐ˜ ์„ ํƒ์  ๋ฆฌ์…‹ ๊ธฐ๋ฒ•์€ ์ €์žฅ์žฅ์น˜ ๋‚ด์˜ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜ ๋™์•ˆ์— ์œ ํšจ ํŽ˜์ด์ง€ ์ฝ๊ธฐ์™€ ์‚ฌ์šฉ์ž ์ฝ๊ธฐ๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅธ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ฐ–๊ณ  ์‹คํ–‰๋˜๋Š” ๊ฒƒ์— ์ฐฉ์•ˆํ•˜์—ฌ, ์ €์žฅ์žฅ์น˜ ๋ฐ–์˜ ํ˜ธ์ŠคํŠธ ์‹œ์Šคํ…œ์—์„œ ์œ ๋ฐœ๋˜๋Š” ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜ ์ฝ๊ธฐ์™€ ์‚ฌ์šฉ์ž ์ฝ๊ธฐ์—๋„ ์„œ๋กœ ๋‹ค๋ฅธ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๋ถ€์—ฌํ•˜์—ฌ ์„ ํƒ์ ์œผ๋กœ ๋ฆฌ์…‹์„ ์ ์šฉํ•˜์˜€๋‹ค. ํ‰๊ฐ€ ๊ฒฐ๊ณผ, ์“ฐ๊ธฐ/์†Œ๊ฑฐ ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•˜๋Š” ๋ชจ๋“  ์‚ฌ์šฉ์ž ์ฝ๊ธฐ ์š”์ฒญ์— ๋ฆฌ์…‹์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ์™€ ์šฐ์„ ์ˆœ์œ„ ๊ธฐ๋ฐ˜์œผ๋กœ ์„ ํƒ์  ๋ฆฌ์…‹์„ ์ ์šฉํ•˜๋Š” ๊ฒฝ์šฐ, ํ‰๊ท  ์ฝ๊ธฐ ์‘๋‹ต์‹œ๊ฐ„, 99.99th ์ฝ๊ธฐ ๊ผฌ๋ฆฌ์‘๋‹ต์‹œ๊ฐ„, ์ˆ˜๋ช…์ด ๊ฐ๊ฐ 9%, 6.9%, 20% ํ–ฅ์ƒ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•˜์˜€๋‹ค. ๋ชจ๋“  ์ถฉ๋Œ์— ๋Œ€ํ•˜์—ฌ ๋ฆฌ์…‹์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ์— ๋น„ํ•˜์—ฌ ์„ ํƒ์  ๋ฆฌ์…‹ ๊ธฐ๋ฒ•์ด ๋” ์ข‹์•„์ง€๋Š” ์ด์œ ๋Š” ๊ธฐ์กด์— ํ•ด๊ฒฐํ•  ์ˆ˜ ์—†์—ˆ๋˜ ์ฝ๊ธฐ ์š”์ฒญ ๊ฐ„์˜ ํ ์ง€์—ฐ์‹œ๊ฐ„์ด ํ•ด๊ฒฐ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋˜ํ•œ ์ €์žฅ์žฅ์น˜์˜ ์ˆ˜๋ช…์ด ๋ฆฌ์…‹์„ ์ „ํ˜€ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ์™€ ๋น„๊ตํ•˜์—ฌ ๋‹จ 2.8% ์ •๋„์˜ ์ˆ˜๋ช… ๋‹จ์ถ•์ด ๋ฐœ์ƒํ•จ์„ ๊ด€์ฐฐํ•˜์˜€๋‹ค.์ œ 1 ์žฅ ์„œ๋ก  1 1.1 ์—ฐ๊ตฌ ๋ฐฐ๊ฒฝ 1 1.2 ์—ฐ๊ตฌ ๋™๊ธฐ 6 1.3 ์—ฐ๊ตฌ ๊ธฐ์—ฌ 9 ์ œ 2 ์žฅ ์ฝ๊ธฐ ์‘๋‹ต์‹œ๊ฐ„ ๊ฐ์†Œ๋ฅผ ์œ„ํ•œ ๊ธฐ์กด์˜ ์—ฐ๊ตฌ 11 2.1 ์„ ์  ๊ฐ€๋Šฅํ•œ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜ 11 2.2 ์†Œํ”„ํŠธ์›จ์–ด ๊ธฐ๋ฐ˜ ๋ฌด์ˆœ์„œ ์ค‘์ฒฉ ์‹คํ–‰ ์Šค์ผ€์ค„๋ง ๊ธฐ๋ฒ• 12 2.3 ์“ฐ๊ธฐ ๋ฐ ์†Œ๊ฑฐ ์ผ์‹œ์ •์ง€ /์žฌ์‹œ์ž‘ ๊ธฐ๋ฒ• 15 ์ œ 3 ์žฅ ๋ฆฌ์…‹ ๋ช…๋ น์–ด(Reset Command) ์ œ์•ˆ 17 3.1 ์ฝ๊ธฐ ์‘๋‹ต์‹œ๊ฐ„ ์ตœ์ ํ™” ๊ธฐ๋ฒ• ํ†ตํ•ฉ ํ‰๊ฐ€ 19 3.2 ํ†ตํ•ฉ ํ‰๊ฐ€ ๊ฒฐ๊ณผ 23 โ€ƒ ์ œ 4 ์žฅ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ณ ๋ คํ•œ ์„ ํƒ์  ๋ฆฌ์…‹ ๊ธฐ๋ฒ• 24 4.1 Log-Structured Merge-Tree ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ 24 4.2 PAReset(Priority-Aware Reset) ๊ตฌ์กฐ 26 ์ œ 5 ์žฅ ์‹คํ—˜ ๊ฒฐ๊ณผ ๋ฐ ๋ถ„์„ 29 5.1 ์‹คํ—˜ ํ™˜๊ฒฝ 29 5.2 ์‹คํ—˜ ๊ฒฐ๊ณผ 30 ์ œ 6 ์žฅ ๊ฒฐ๋ก  33 6.1 ๊ฒฐ๋ก  33 6.2 ํ–ฅํ›„ ์—ฐ๊ตฌ 36 ์ฐธ๊ณ ๋ฌธํ—Œ 36 Abstract 37Maste

    Programmable flash interface and its application

    Get PDF
    ํ•™์œ„๋…ผ๋ฌธ (์„์‚ฌ)-- ์„œ์šธ๋Œ€ํ•™๊ต ๋Œ€ํ•™์› ๊ณต๊ณผ๋Œ€ํ•™ ์ปดํ“จํ„ฐ๊ณตํ•™๋ถ€, 2017. 8. ๋ฏผ์ƒ๋ ฌ.NAND ํ”Œ๋ž˜์‹œ ๋ฉ”๋ชจ๋ฆฌ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์œ ์ง€๋˜๋Š” ๋น„ํœ˜๋ฐœ์„ฑ(Non-volatile) ๋ฉ”๋ชจ๋ฆฌ๋กœ ๊ธฐ์กด ํ•˜๋“œ ๋””์Šคํฌ๋ฅผ ๋Œ€์ฒดํ•˜๋Š” ์ €์žฅ๋งค์ฒด๋กœ ๊ฐ๊ด‘์„ ๋ฐ›์œผ๋ฉฐ ๋น ๋ฅด๊ฒŒ ๋ฐœ์ „ํ•˜์—ฌ ์ €์žฅ ๋งค์ฒด ์‹œ์žฅ์„ ์ ์œ ํ•ด ๋‚˜๊ฐ€๊ณ  ์žˆ๋‹ค. NAND ํ”Œ๋ž˜์‹œ ์ œํ’ˆ์ด ๊ฐ๊ด‘์„ ๋ฐ›์„์ˆ˜๋ก ๊ธฐ์ˆ  ๋ฐœ์ „๋„ ๋นจ๋ผ์ง€๊ณ  ์ƒˆ๋กœ์šด ์ œํ’ˆ ์ถœ์‹œ๋„ ๋นจ๋ผ์ง€๊ณ  ์žˆ์ง€๋งŒ ํ†ต์ผ๋œ ํ‘œ์ค€ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— NAND ํ”Œ๋ž˜์‹œ ๋ฉ”๋ชจ๋ฆฌ๋Š” ์ œํ’ˆ๋งˆ๋‹ค ์กฐ๊ธˆ์”ฉ ๋‹ค๋ฅธ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ํ™˜๊ฒฝ์—์„œ๋Š” NAND ํ”Œ๋ž˜์‹œ ๋ฉ”๋ชจ๋ฆฌ ์ œ์–ด๊ธฐ์˜ ์œ ์—ฐ์„ฑ์ด ๊ด€๊ฑด์ด ๋  ๊ฒƒ์ด๋ฉฐ ์ž์นซ ์˜ค๋žœ ๊ธฐ๊ฐ„ ๋งŽ์€ ๋ˆ์„ ๋“ค์—ฌ์„œ ๊ฐœ๋ฐœํ•œ ์ œ์–ด๊ธฐ๋ฅผ ์งง์€ ์‹œ๊ฐ„๋ฐ–์— ์“ธ ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋ฐœ์ƒ ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ณธ ๋…ผ๋ฌธ์—์„œ๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ƒํ™ฉ์—์„œ ์ผ๊ด€์„ฑ์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐ€๋Šฅํ•œ ํ”Œ๋ž˜์‹œ ๋ฉ”๋ชจ๋ฆฌ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ •์˜ํ•˜๊ณ  ์ด๋ฅผ FPGAํ™˜๊ฒฝ์„ ์ด์šฉํ•œ NAND ํ”Œ๋ž˜์‹œ ๋ฉ”๋ชจ๋ฆฌ ์ œ์–ด๊ธฐ๋กœ ๊ตฌํ˜„ํ–ˆ๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐ€๋Šฅํ•œ ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์„œ๋กœ ๋‹ค๋ฅธ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ฐ–๋Š” NAND ํ”Œ๋ž˜์‹œ ๋ฉ”๋ชจ๋ฆฌ ์ œํ’ˆ์— ์œ ์—ฐํ•˜๊ฒŒ ๋Œ€์‘ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ํ˜ธ์ŠคํŠธ์— ์ผ๊ด€์„ฑ์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค. ๋˜ํ•œ ์ด๋Ÿฌํ•œ ์œ ์—ฐํ•˜๊ณ  ์ผ๊ด€์„ฑ ์žˆ๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•œ ์‘์šฉํ™˜๊ฒฝ์œผ๋กœ QoS(Quality of Service)๊ธฐ๋ฐ˜ ๊ณต์ • ๋Œ€๊ธฐ์—ด ์Šค์ผ€์ค„๋ง์„ ๊ตฌํ˜„ํ•˜์—ฌ ์„ฑ๋Šฅ๊ณผ ํšจ๊ณผ๋ฅผ ๊ฒ€์ฆํ–ˆ๋‹ค.1. ์„œ๋ก  1 1.1 ์—ฐ๊ตฌ ๋™๊ธฐ 1 1.2 ์—ฐ๊ตฌ ๋‚ด์šฉ 3 1.3 ๋…ผ๋ฌธ์˜ ๊ตฌ์„ฑ 4 2. ๋ฐฐ๊ฒฝ ์ง€์‹ ๋ฐ ๊ด€๋ จ ์—ฐ๊ตฌ 5 2.1 NAND ํ”Œ๋ž˜์‹œ ๋ฉ”๋ชจ๋ฆฌ 5 2.2 NAND ํ”Œ๋ž˜์‹œ ๋ฉ”๋ชจ๋ฆฌ ๊ธฐ๋ฐ˜ ์ €์žฅ ์žฅ์น˜ 8 2.2.1 ํ”Œ๋ž˜์‹œ ๋ณ€ํ™˜ ๊ณ„์ธต 9 2.2.1.1 ์ฃผ์†Œ ๋ณ€ํ™˜ 9 2.2.1.2 ์“ฐ๋ ˆ๊ธฐ ์ˆ˜์ง‘ 10 2.2.1.3 ๋งˆ๋ชจ ํ‰์ค€ํ™” 11 2.2.2 ํ”Œ๋ž˜์‹œ ๋ฉ”๋ชจ๋ฆฌ ์Šค์ผ€์ค„๋Ÿฌ 12 2.2.2.1 QoS ๊ธฐ๋ฐ˜ ์Šค์ผ€์ค„๋ง 13 2.2.2.2 ํ•˜๋“œ์›จ์–ด/์†Œํ”„ํŠธ์›จ์–ด ์Šค์ผ€์ค„๋ง 15 2.2.3 ํ”Œ๋ž˜์‹œ ๋ฉ”๋ชจ๋ฆฌ ์ œ์–ด๊ธฐ 16 2.3 ํ”Œ๋ž˜์‹œ ๋ฉ”๋ชจ๋ฆฌ ์ธํ„ฐํŽ˜์ด์Šค 16 2.3.1 ONFI์™€ Toggle Mode ์ธํ„ฐํŽ˜์ด์Šค 17 2.3.2 NAND ํ”Œ๋ž˜์‹œ ์„ธ๋ถ€ ์ธํ„ฐํŽ˜์ด์Šค 18 2.3.2.1 ๋ฌผ๋ฆฌ ์ธํ„ฐํŽ˜์ด์Šค 19 2.3.2.2 ๋ฉ”๋ชจ๋ฆฌ ๊ตฌ์กฐ ์ธํ„ฐํŽ˜์ด์Šค 21 2.3.2.3 ๋ฐ์ดํ„ฐ ์ธํ„ฐํŽ˜์ด์Šค 24 2.3.2.4 ์—ฐ์‚ฐ ์ธํ„ฐํŽ˜์ด์Šค 25 2.3.2.5 ๋ช…๋ น ๋ฐ ํƒ€์ด๋ฐ ์ธํ„ฐํŽ˜์ด์Šค 26 3. ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐ€๋Šฅํ•œ ํ”Œ๋ž˜์‹œ ์ธํ„ฐํŽ˜์ด์Šค 28 3.1 ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐ€๋Šฅํ•œ ํ”Œ๋ž˜์‹œ ์ธํ„ฐํŽ˜์ด์Šค ์ •์˜ 28 3.1.1 ๋งˆ์ดํฌ๋กœ ์ฝ”๋“œ ํฌ๋งท 31 3.1.2 ๋งˆ์ดํฌ๋กœ ์ฝ”๋“œ ์‚ฐ์ˆ /๋…ผ๋ฆฌ ์—ฐ์‚ฐ 32 3.1.3 ๋งˆ์ดํฌ๋กœ ์ฝ”๋“œ ๋ถ„๊ธฐ ์—ฐ์‚ฐ 33 3.1.4 ๋งˆ์ดํฌ๋กœ ์ฝ”๋“œ ํŠน์ˆ˜ ์—ฐ์‚ฐ 33 3.1.5 ๋งˆ์ดํฌ๋กœ ์ฝ”๋“œ ์‹ ํ˜ธ ์—”์ง„ ๋ช…๋ น 34 3.2 ์ œ์–ด๊ธฐ ๋””์ž์ธ 35 3.2.1 ๋งˆ์ดํฌ๋กœ ์ฝ”๋“œ ์‹คํ–‰๊ธฐ 37 3.2.2 ๋งˆ์ดํฌ๋กœ ์ฝ”๋“œ ๋ฉ”๋ชจ๋ฆฌ 37 3.2.3 ์‹ ํ˜ธ ์—”์ง„ 37 3.2.4 ์ œ์–ด๊ธฐ์˜ ๋™์ž‘ 38 3.3 ์†Œํ”„ํŠธ์›จ์–ด๋กœ ๊ตฌํ˜„๋œ ๊ณต์ • ๋Œ€๊ธฐ์—ด ์Šค์ผ€์ค„๋ง 40 4. ์‹คํ—˜ ํ™˜๊ฒฝ ๋ฐ ํ‰๊ฐ€ 44 4.1 ์‹คํ—˜ ํ™˜๊ฒฝ 44 4.2 ์‹คํ—˜ ํ‰๊ฐ€ 46 5. ๊ฒฐ๋ก  51 ์ฐธ๊ณ ๋ฌธํ—Œ 52 Abstract 54Maste

    Redesigning Transaction Processing Systems for Non-Volatile Memory

    Get PDF
    Department of Computer Science and EngineeringTransaction Processing Systems are widely used because they make the user be able to manage their data more efficiently. However, they suffer performance bottleneck due to the redundant I/O for guaranteeing data consistency. In addition to the redundant I/O, slow storage device makes the performance more degraded. Leveraging non-volatile memory is one of the promising solutions the performance bottleneck in Transaction Processing Systems. However, since the I/O granularity of legacy storage devices and non-volatile memory is not equal, traditional Transaction Processing System cannot fully exploit the performance of persistent memory. The goal of this dissertation is to fully exploit non-volatile memory for improving the performance of Transaction Processing Systems. Write amplification between Transaction Processing System is pointed out as a performance bottleneck. As first approach, we redesigned Transaction Processing Systems to minimize the redundant I/O between the Transaction Processing Systems. We present LS-MVBT that integrates recovery information into the main database file to remove temporary files for recovery. The LS-MVBT also employs five optimizations to reduce the write traffics in single fsync() calls. We also exploit the persistent memory to reduce the performance bottleneck from slow storage devices. However, since the traditional recovery method is for slow storage devices, we develop byte-addressable differential logging, user-level heap manager, and transaction-aware persistence to fully exploit the persistent memory. To minimize the redundant I/O for guarantee data consistency, we present the failure-atomic slotted paging with persistent buffer cache. Redesigning indexing structure is the second approach to exploit the non-volatile memory fully. Since the B+-tree is originally designed for block granularity, It generates excessive I/O traffics in persistent memory. To mitigate this traffic, we develop cache line friendly B+-tree which aligns its node size to cache line size. It can minimize the write traffic. Moreover, with hardware transactional memory, it can update its single node atomically without any additional redundant I/O for guaranteeing data consistency. It can also adapt Failure-Atomic Shift and Failure-Atomic In-place Rebalancing to eliminate unnecessary I/O. Furthermore, We improved the persistent memory manager that exploit traditional memory heap structure with free-list instead of segregated lists for small memory allocations to minimize the memory allocation overhead. Our performance evaluation shows that our improved version that consider I/O granularity of non-volatile memory can efficiently reduce the redundant I/O traffic and improve the performance by large of a margin.ope

    High-Density Solid-State Memory Devices and Technologies

    Get PDF
    This Special Issue aims to examine high-density solid-state memory devices and technologies from various standpoints in an attempt to foster their continuous success in the future. Considering that broadening of the range of applications will likely offer different types of solid-state memories their chance in the spotlight, the Special Issue is not focused on a specific storage solution but rather embraces all the most relevant solid-state memory devices and technologies currently on stage. Even the subjects dealt with in this Special Issue are widespread, ranging from process and design issues/innovations to the experimental and theoretical analysis of the operation and from the performance and reliability of memory devices and arrays to the exploitation of solid-state memories to pursue new computing paradigms
    corecore