固态硬盘 (SSD) 是一种非易失性存储器 (NVM),将数据存储在其嵌入式 NAND 闪存芯片中。 NAND闪存的物理特性意味着SSD的访问延迟比传统硬盘驱动器(HDD)要短得多。这意味着即使断电或关闭,存储的数据也不会丢失。
使用缓存来提高感知性能
NAND闪存行业多年来发展迅速。 SSD 是全球最受欢迎的存储类型之一,因为其价格在速度、容量和价格方面比 HDD 更具竞争力。更先进的多级单元(MLC)NAND闪存架构已经被提出,例如2位MLC / 3位TLC / 4位QLC闪存。但这些全新的技术虽然降低了成本,但也带来了一些代价。
例如,访问 MLC Flash 的延迟比单级单元 (SLC) Flash 慢得多。然而,用户总是在寻求更好的用户体验,SSD制造商尝试不同的方法来增强其产品的性能。
“缓存”的概念通常在 SSD 内部实现,以改善用户体验。毕竟,用户最关心的是主机(例如个人电脑)和存储设备(例如SSD)之间的传输速率,而不是数据被物理编程到闪存中所需的时间,
常见的策略是,当数据首次从主机传输时,将接收到的数据放入存储器中,该存储器比主存储区域(即 NAND 闪存)更快地编程数据。即使数据尚未被编程到主存储器中,数据处理时间也显着缩短。
随机存取存储器 (RAM) 是当今最快的存储介质之一,因此 RAM 经常用于与中央处理单元 (CPU) 交换数据。 RAM 在缓存实现中也非常流行,无论是静态随机存取存储器 (SRAM) 还是动态随机存取存储器 (DRAM)。在追求更好的用户体验的同时,缓存技术也在目前的SSD产品中得到广泛应用。通过适当的设计和实现,消费者可以体验到RAM带来的访问速度的优势。
RAM Cache中数据丢失的问题
尽管RAM可以在SSD设计中用作缓存,但仍然有一个固有的问题需要克服。虽然使用 RAM 为用户提供了有吸引力的数据访问速度,但由于 RAM 的物理特性,波动性是一种权衡;一旦断电,RAM 中存储的所有数据都会丢失。如果能够降低甚至消除由于RAM的波动性而导致RAM中的数据丢失的风险,那么将会增强SSD的数据完整性能力。但在SSD设计中采用RAM确实给用户体验带来了显着的优势。
有一些可能的方法可以解决缓存数据完整性问题。一种方法是仅将可恢复的数据放入 RAM 缓存中。使用 DRAM 在 SSD 中进行缓存旨在缓存可从闪存中存储的源数据恢复的“热”数据。这样,即使缓存的数据因突然断电而损坏,SSD控制器仍然可以根据闪存中现有的数据重建数据。
不幸的是,这种方法并不能涵盖所有场景。用户从主机端编程到SSD RAM缓存中的数据可以被视为“不可恢复”数据。一旦发生断电,这些数据就会丢失。为了降低丢失缓存数据的风险,群联开发了一项名为 SmartFlush™ 的专有技术。
群联科技:SmartFlush™
群联专有技术SmartFlush™,基于一个基本原则:在适当的时间将缓存数据从 RAM 刷新到闪存。这个策略很简单。 SmartFlush™ 在意外断电之前将缓存数据从 RAM(易失性)移动到闪存(非易失性)存储器。
这种方法的关键部分是何时将数据从 RAM 刷新到闪存。如果数据刷新发生得太频繁,即使主机停止向设备发送命令,SSD 也可能保持忙碌状态。因此,SSD 无法进入睡眠模式,这意味着功耗可能会高于预期。另外,频繁触发数据刷新会影响SSD操作的流畅性。另一方面,如果这种刷新机制触发得不够频繁,缓存数据丢失的可能性就会变得更高。将数据从RAM刷新到闪存的频率与SSD操作的流畅性之间的平衡是关键。
数据刷新的计时有两种方法:
-
-
- 时间1: 当 RAM 缓存中的数据大小大于闪存中的页面时。这是一个非常基本的方法。由于 SSD 市场中常用的闪存类型现在是基于页面的可编程,因此在缓存数据的大小超过闪存中单个页面的容量之前,它们不会将缓存数据刷新到闪存,这是有道理的。
- 时间2: 主机停止向设备发送命令。 SmartFlush™ 的主要目的是防止缓存数据丢失。从用户的角度来看,此操作应在后台执行,并且不应对一般用户体验造成任何重大影响。因此,主机停止向设备发送请求的时刻可以被视为适当的时机。
-
在制定SSD整体规格时应考虑启动数据刷新的频率。该技术的实际实现会因SSD产品的硬件设计和固件设计而异。如何在现实世界中针对不同的用户场景实现数据刷新时机的完美平衡是非常复杂的,而Phison就擅长这方面的调优。
群联的 SmartFlush™ 提高感知性能,同时确保数据完整性
本文仅介绍 SmartFlush™ 的基本概念,而不是详细介绍所有细节。在实际情况中,SmartFlush™ 的实现方法比此处列出的更复杂,并且这些方法在各种基于 Phison 闪存的产品和不同的用户场景之间可能有所不同。但无论实现方法如何不同,SmartFlush™机制带来的好处都是相同的。借助群联提供的这一智能功能,用户对数据完整性的信心可以提升到一个新的水平。