Multi-Stream初体验

Multi-Stream Write是Samsung推出的一个技术。

Multi-Stream Write的设计思路有两点:

1. 给从Host写入的数据增加一个Stream 的概念,同一个Stream里的数据会被同时invalidate。比如一个5M的MP3,1G的电影,一旦删除,就整个文件所有的数据全部被删除,不存在一部电影被删除10%的情况。

2. 将数据按照更新频率(用不同的Stream ID标记)存到NAND上

下图能够看到Multi-Stream和传统方式在把数据写到NAND上时选择Block的区别:

 

Host下写入数据时,根据该数据的更新频率分配Stream ID,FTL[……]

阅读全文

LDPC码原理简介

LDPC码原理简介

平生不见LDPC

在纠错码的江湖里,LDPC 就是大侠陈近南般的存在,没有听说过LDPC的工程师很少, 他的名字似乎代表了纠错码的最高境界。本结带领大家一睹大侠的风采。

本节涉及的主要话题有:LDPC基础,Bitflip,SoftBitflip。

引子,从单身狼人杀人事件到LDPC

话不多聊,在说LDPC之前,先讲一个真事改编的故事。

回到老家的蛋蛋,立即被当地的警察带到了警局。原来,最近小镇又发生了凶手案。 而蛋蛋多年前用数学知识破获一起拐卖妇女儿童案件,在侦探界名声大作,此次,只是请他协助探案。案发现场在巨星阿呆的巡回演唱会内。并无视频监控和目击证人。嫌疑犯多达几百[……]

阅读全文

软件定义存储SDS的一个核心问题:用在哪里?

 


 

先说理论性的东西。

 

如果单纯问如何挖掘软件定义存储SDS系统的最大价值,这将是一个很大的话题。所以,我们在此加入场景的定语,即从场景角度出发,如何挖掘SDS系统的最大价值。要在一个已经在极地的预算内的系统中挖掘更多的价值,显然是很困难的事情,尤其是在性能方面更是难上加难。

 

但性能的主要矛盾其实在于硬件,没有哪家SDS会忽略闪存的存在,毕竟软件的意义就在于如何更大的发挥SSD还没有被发挥出的潜力,即让硬件变得更加的聪明。

 

在部署存储架构的时候,SDS为IT部门提供区分软件和硬件各自成本的能力。SDS系统有效地使客户获得开源或者授权的软件并且将其部署在物理基础架构上,比如[……]

阅读全文

SSD内部去重模型和量化分析

提要

上次ssdfans群里有人说三星有一款SSD,貌似是850主控使用了去重技术,阿呆难以置信,因为去重不仅有复杂的计算,还要维护一个LBA到哈希值的映射表,占用内存,增加延迟。不过,最近看到一篇韩国学者写的论文,讲的是SSD去重,所以简单介绍给大家看看。

我们先来看看传统的去重是怎么实现的,就以我们曾经介绍过的EMC XtremIO全闪存阵列
为例。XIO专门为去重维护了两张表,A2H(数据块逻辑地址——Hash值)和H2PHash值——SSD存放地址)。每个4KB数据块都会计算出一个SHA-1值作为指纹,以此来判断数据是不是重复,而不是直接比对数据。加上SSD内部的FTL映射[……]

阅读全文

FTL之垃圾回收、写放大和OP

本文虚构了一个小小的SSD空间,来讲讲FTL的几个重要知识点:垃圾回收(Garbage Collection,GC,或者叫Recycle),写放大(Write Amplification)和OP (Over Provisioning)。

麻雀虽小五脏俱全。翠花,上麻雀。

我们假设该SSD底层有4个通道(Channel,CH0-CH3),连接着4个Die (每个Channel上的Die可并行操作),假设每个Die只有6个Block(Block0-Block5),所以一共24个Block。每个Block内有9个小方块,每个小方块的大小和Host Page大小一样。24个Block中,我们假[……]

阅读全文