334 research outputs found
A Survey on the Integration of NAND Flash Storage in the Design of File Systems and the Host Storage Software Stack
With the ever-increasing amount of data generate in the world, estimated to reach over 200 Zettabytes by 2025, pressure on efficient data storage systems is intensifying. The shift from HDD to flash-based SSD provides one of the most fundamental shifts in storage technology, increasing performance capabilities significantly. However, flash storage comes with different characteristics than prior HDD storage technology. Therefore, storage software was unsuitable for leveraging the capabilities of flash storage. As a result, a plethora of storage applications have been design to better integrate with flash storage and align with flash characteristics. In this literature study we evaluate the effect the introduction of flash storage has had on the design of file systems, which providing one of the most essential mechanisms for managing persistent storage. We analyze the mechanisms for effectively managing flash storage, managing overheads of introduced design requirements, and leverage the capabilities of flash storage. Numerous methods have been adopted in file systems, however prominently revolve around similar design decisions, adhering to the flash hardware constrains, and limiting software intervention. Future design of storage software remains prominent with the constant growth in flash-based storage devices and interfaces, providing an increasing possibility to enhance flash integration in the host storage software stack
A Survey on the Integration of NAND Flash Storage in the Design of File Systems and the Host Storage Software Stack
With the ever-increasing amount of data generate in the world, estimated to
reach over 200 Zettabytes by 2025, pressure on efficient data storage systems
is intensifying. The shift from HDD to flash-based SSD provides one of the most
fundamental shifts in storage technology, increasing performance capabilities
significantly. However, flash storage comes with different characteristics than
prior HDD storage technology. Therefore, storage software was unsuitable for
leveraging the capabilities of flash storage. As a result, a plethora of
storage applications have been design to better integrate with flash storage
and align with flash characteristics.
In this literature study we evaluate the effect the introduction of flash
storage has had on the design of file systems, which providing one of the most
essential mechanisms for managing persistent storage. We analyze the mechanisms
for effectively managing flash storage, managing overheads of introduced design
requirements, and leverage the capabilities of flash storage. Numerous methods
have been adopted in file systems, however prominently revolve around similar
design decisions, adhering to the flash hardware constrains, and limiting
software intervention. Future design of storage software remains prominent with
the constant growth in flash-based storage devices and interfaces, providing an
increasing possibility to enhance flash integration in the host storage
software stack
Dynamic Binary Translation for Embedded Systems with Scratchpad Memory
Embedded software development has recently changed with advances in computing. Rather than fully co-designing software and hardware to perform a relatively simple task, nowadays embedded and mobile devices are designed as a platform where multiple applications can be run, new applications can be added, and existing applications can be updated. In this scenario, traditional constraints in embedded systems design (i.e., performance, memory and energy consumption and real-time guarantees) are more difficult to address. New concerns (e.g., security) have become important and increase software complexity as well.
In general-purpose systems, Dynamic Binary Translation (DBT) has been used to address these issues with services such as Just-In-Time (JIT) compilation, dynamic optimization, virtualization, power management and code security. In embedded systems, however, DBT is not usually employed due to performance, memory and power overhead.
This dissertation presents StrataX, a low-overhead DBT framework for embedded systems. StrataX addresses the challenges faced by DBT in embedded systems using novel techniques. To reduce DBT overhead, StrataX loads code from NAND-Flash storage and translates it into a Scratchpad Memory (SPM), a software-managed on-chip SRAM with limited capacity. SPM has similar access latency as a hardware cache, but consumes less power and chip area.
StrataX manages SPM as a software instruction cache, and employs victim compression and pinning to reduce retranslation cost and capture frequently executed code in the SPM. To prevent performance loss due to excessive code expansion, StrataX minimizes the amount of code inserted by DBT to maintain control of program execution. When a hardware instruction cache is available, StrataX dynamically partitions translated code among the SPM and main memory. With these techniques, StrataX has low performance overhead relative to native execution for MiBench programs. Further, it simplifies embedded software and hardware design by operating transparently to applications without any special hardware support. StrataX achieves sufficiently low overhead to make it feasible to use DBT in embedded systems to address important design goals and requirements
Elevating commodity storage with the SALSA host translation layer
To satisfy increasing storage demands in both capacity and performance,
industry has turned to multiple storage technologies, including Flash SSDs and
SMR disks. These devices employ a translation layer that conceals the
idiosyncrasies of their mediums and enables random access. Device translation
layers are, however, inherently constrained: resources on the drive are scarce,
they cannot be adapted to application requirements, and lack visibility across
multiple devices. As a result, performance and durability of many storage
devices is severely degraded.
In this paper, we present SALSA: a translation layer that executes on the
host and allows unmodified applications to better utilize commodity storage.
SALSA supports a wide range of single- and multi-device optimizations and,
because is implemented in software, can adapt to specific workloads. We
describe SALSA's design, and demonstrate its significant benefits using
microbenchmarks and case studies based on three applications: MySQL, the Swift
object store, and a video server.Comment: Presented at 2018 IEEE 26th International Symposium on Modeling,
Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS
Executing Hard Real-Time Programs on NAND Flash Memory Considering Read Disturb Errors
ํ์๋
ผ๋ฌธ (์์ฌ)-- ์์ธ๋ํ๊ต ๋ํ์ ๊ณต๊ณผ๋ํ ์ปดํจํฐ๊ณตํ๋ถ, 2017. 8. ์ด์ฐฝ๊ฑด.์ฃ๊ทผ IoT ์ ์๋ฒ ๋๋ ์์คํ
์ ๋ํ ๊ด์ฌ์ด ๊ธ์ฆํ๋ฉด์ NAND
ํ๋์ฌ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ์ฅ์น๋ค ๋ํ ์ฆ๊ฐํ๊ณ ์๋ค. ์ด๋ฌํ
์ฅ์น๋ค์ NAND ํ๋์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํจ์ผ๋ก์จ ํฐ ์ด๋์ ์ป์
์ ์์ง๋ง ์ฌ์ ํ ์ ๋ขฐ์ฑ ์ธก๋ฉด์์๋ ํด๊ฒฐ๋์ง ์์ ์ด์๋ค์ด
์๋ค. ๋ณธ ๋
ผ๋ฌธ์์๋ ์ด๋ฌํ ์ ๋ขฐ์ฑ ๋ฌธ์ ๋ฅผ ๊ทน๋ณตํ ์ ์๋
๋ฐฉ์์ ๋ํด ๋
ผ์ํ๋ค. NAND ํ๋์ฌ ๋ฉ๋ชจ๋ฆฌ๋ ๊ฐ ํ์ด์ง์ ๋ํด
์ฝ๊ธฐ ๋ช
๋ น์ ๋ฐ๋ณต์ ์ผ๋ก ์ํ ํ ์๋ ๋ฌผ๋ฆฌ์ ํ์๊ฐ ํ์ ๋์ด
์๊ธฐ ๋๋ฌธ์ ์ฝ๊ธฐ ํ์๊ฐ ํ๊ณ์น์ ๋๋ฌํ๊ธฐ ์ ์ ์ฌํ ๋น์
ํด์ฃผ์ด์ผ ํ๋ ๋ฌธ์ ๊ฐ ์๋ค. ๋ณธ ๋
ผ๋ฌธ์์๋ ํ๋ก๊ทธ๋จ ์ฝ๋๊ฐ
์ ์ฅ๋์ด ์๋ read-only ํ์ด์ง๋ฅผ ์ฝ์ด ์ฝ๋๋ฅผ ์ํํ๋ ์ค์๊ฐ
์๋ฒ ๋๋ ์์คํ
์์ ์ค์๊ฐ ์ ์ฝ ์กฐ๊ฑด์ ๋ง์กฑํ๋ฉด์ ์ฌํ ๋น์
ํ์ฌ READ DISTURB ERROR ๋ฅผ ์ค์ด๋ ๊ธฐ๋ฒ์ ๋ํด ์ ์ํ๋ค.
๋ณธ ๋
ผ๋ฌธ์์ ์ ์ํ๋ ๊ธฐ๋ฒ์ ๊ตฌํํ๊ณ ์คํํจ์ผ๋ก์จ, NAND
ํ๋์ฌ ๋ฉ๋ชจ๋ฆฌ์ ์ฝ๊ธฐ ํ๊ณ์น์ ๋๋ฌํ๊ธฐ ์ ์ ์ฌํ ๋น์ด ๋ณด์ฅ๋จ์
๋ณด์ธ๋ค. ๋ํ ์ ์ํ๋ ๊ธฐ๋ฒ์ ์ฌ์ฉ ํ ๊ฒฝ์ฐ ์๊ตฌ๋๋ RAM
ํฌ๊ธฐ๊ฐ ์ต๋ 48% ๊ฐ์ํจ์ ํ์ธํ๋ค1 Introduction 1
2 Related works 6
3 Background and problem description 10
3.1 NAND flash memory 10
3.2 HRT-PLRU 13
3.3 Reliability issues of the NAND flash memory 18
3.4 Problem description 28
3.5 System notation 30
4 Approach 31
4.1 Per-task analysis 31
4.2 Convex optimization 37
5 Evaluation 41
6 Future works 46
7 Conclusion 47
Summary (Korean) 48
References 49Maste
- โฆ