配置ssd为缓存_为群晖 NAS 加上 SSD 缓存,享受高速带来的酸爽吧!

本文介绍了如何利用SSD作为群晖NAS的缓存,提高读写速度和整体效率。通过读取数据时的缓存机制和写入时的数据处理,实现了兼顾性能和性价比的解决方案。在选择SSD时,考虑兼容性、传输效能和耐写度三个关键因素,并提及了端对端数据保护和断电保护等额外功能的重要性。在安装缓存后,避免频繁拔插以保障数据安全。
摘要由CSDN通过智能技术生成

好久没和大家做科普啦

今天晖姑娘掐指一算

决定和大家讲一讲

SSD 缓存的那些事

近年来,SSD 因为它的

高性能、低延迟、无噪音等优势

越来越被大众所青睐

但是对于主打存储的 NAS 来说

经济大空间往比极致速度更重要

毕竟以 T 为单位的 SSD

价格也和它的速度一样酸爽

(顶级极客/土豪就当我没说)

ddaf5bfa1fed682ff71be23376aed69e.png

这时候,HDD+SSD 缓存

就成为了一个比较优秀的解决方案

既兼顾效率,又有较高的性价比

那么它是怎么运作的呢?

在读取硬盘数据时

NAS 会将所需数据同时缓存在 SSD中

当你再次用到这一部分数据时

就可以直接从 SSD 中获取

大幅优化传输速度

而在写入数据时

先将数据缓存入 SSD 中

再由 SSD 适时传输给 HDD

可以减少用户上传文件的等待时间

平衡 HDD 的工作负载

不过需要注意的是:

只读缓存(仅加速读取)1个 SSD 就能实现

而读写缓存(读写均加速)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我知道了。下面是针对 STM32 驱动 SSD1306 OLED 屏幕的配置方式: 1. 硬件连接 将 SSD1306 OLED 屏幕的 SDA 和 SCL 引脚分别连接到 STM32 的 PB7 和 PB6 引脚上。 2. 初始化 I2C 使用 STM32 的 I2C 接口与 SSD1306 OLED 屏幕进行通信。需要初始化 I2C 接口并设置 I2C 时钟频率。以下是一个示例代码片段: ``` // I2C初始化 void I2C_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; I2C_InitTypeDef I2C_InitStructure; RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1, ENABLE); RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_OType = GPIO_OType_OD; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; GPIO_Init(GPIOB, &GPIO_InitStructure); GPIO_PinAFConfig(GPIOB, GPIO_PinSource6, GPIO_AF_I2C1); GPIO_PinAFConfig(GPIOB, GPIO_PinSource7, GPIO_AF_I2C1); I2C_InitStructure.I2C_Mode = I2C_Mode_I2C; I2C_InitStructure.I2C_DutyCycle = I2C_DutyCycle_2; I2C_InitStructure.I2C_OwnAddress1 = 0; I2C_InitStructure.I2C_Ack = I2C_Ack_Enable; I2C_InitStructure.I2C_AcknowledgedAddress = I2C_AcknowledgedAddress_7bit; I2C_InitStructure.I2C_ClockSpeed = 400000; I2C_Init(I2C1, &I2C_InitStructure); I2C_Cmd(I2C1, ENABLE); } ``` 3. 配置 SSD1306 OLED 屏幕 在初始化 I2C 接口后,需要对 SSD1306 OLED 屏幕进行配置。以下是一个示例代码片段: ``` // SSD1306 OLED屏幕初始化 void OLED_Init(void) { // 关闭屏幕显示 OLED_SendCommand(0xAE); // 设置显示时钟分频因子、震荡器频率 OLED_SendCommand(0xD5); OLED_SendCommand(0x80); // 设置多路复用率 OLED_SendCommand(0xA8); OLED_SendCommand(0x3F); // 设置偏移量 OLED_SendCommand(0xD3); OLED_SendCommand(0x00); // 设置起始行 OLED_SendCommand(0x40); // 设置扫描方向 OLED_SendCommand(0xC8); // 设置显示偏移 OLED_SendCommand(0xD3); OLED_SendCommand(0x00); // 设置显示时钟分频因子、震荡器频率 OLED_SendCommand(0xD5); OLED_SendCommand(0x80); // 设置显示模式 OLED_SendCommand(0x8D); OLED_SendCommand(0x14); // 设置亮度 OLED_SendCommand(0x81); OLED_SendCommand(0xCF); // 开启屏幕显示 OLED_SendCommand(0xAF); } ``` 4. 发送数据 在完成了上述配置后,我们就可以向 SSD1306 OLED 屏幕发送数据了。以下是一个示例代码片段: ``` // 向屏幕发送一个字节的数据 void OLED_SendData(uint8_t data) { I2C_GenerateSTART(I2C1, ENABLE); while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_MODE_SELECT)); I2C_Send7bitAddress(I2C1, OLED_ADDR, I2C_Direction_Transmitter); while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED)); I2C_SendData(I2C1, 0x40); while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_TRANSMITTED)); I2C_SendData(I2C1, data); while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_BYTE_TRANSMITTED)); I2C_GenerateSTOP(I2C1, ENABLE); } ``` 以上就是基于 STM32 的 SSD1306 OLED 屏幕驱动配置方式,希望对你有帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值