固态硬盘中的有效负载溢出边界表辅助读取制造技术

技术编号:31978337 阅读:15 留言:0更新日期:2022-01-20 01:31
本发明专利技术涉及固态硬盘中的有效负载溢出边界表辅助读取。本发明专利技术揭示由固态硬盘的控制器执行的方法,包括从主机接收对存储于所述固态硬盘的非易失性半导体存储装置中的读取数据的读取请求。所述方法包括识别第一码字及第二码字,所述第一码字及所述第二码字包括对应于所述读取请求的所述读取数据。响应于所述读取请求,所述方法包括:读取含于所述第一码字中的所述读取数据的第一部分且读取含于所述第二码字中的所述读取数据的第二部分;组合所述第一部分及所述第二部分作为经组合读取数据;及响应于所述读取请求,将所述经组合读取数据传送到所述主机。所述第一及第二码字经相邻存储,且所述经组合读取数据具有大于所述第一及第二码字的长度的长度。第二码字的长度的长度。第二码字的长度的长度。

【技术实现步骤摘要】
固态硬盘中的有效负载溢出边界表辅助读取


[0001]本公开涉及提供共同基础结构的固态硬盘及方法,其根据固态硬盘的码率变化动态调整以能够在处理来自主机的读取请求时高效传送数据。

技术介绍

[0002]与常规磁盘驱动器相比,固态硬盘(SSD)通常具有更快性能、更小型及对振动或物理冲击更不敏感。鉴于这些优势,SSD正越来越多用于计算装置及其它消费产品中以替代或补充磁盘驱动器,即使SSD的每GB存储容量成本显著高于磁盘驱动器的每GB存储容量成本。
[0003]SSD利用包括非易失性半导体存储装置(例如NAND装置)的物理存储器单元来存储数据。SSD中使用控制器来管理主机与SSD的存储器单元之间的数据传送。将数据写入到SSD的物理存储器单元及从SSD的物理存储器单元读取数据通常涉及在各种存储器单元之间混洗数据。
[0004]迄今为止,SSD的存储器单元中的存储器页(例如NAND页)的大小已经配置使得其能够使存储器页的每数据单元容纳多个数据有效负载,且错误校正码(ECC)位将位于存储器页的主要用于处置错误校正的保留备用区域中。然而,此已随着当前存储器技术日益倾向于使存储器的每存储器单元压缩更多数据位而剧烈改变。同时,存储器内此类数据页上的位错误率(BER)随着存储器老化而增大,其需要增加ECC位的数目,这会超过存储器页的保留区域中可用的空间。
[0005]为了维持关于工作量的良好吞吐量及延时且通过执行精细错误校正来不降低存储器的效率,将更多错误校正码(ECC)位构建到每一数据单元中。增加每数据单元的ECC位量减损可用于存储来自主机的有效负载数据的物理空间。虽然来自主机的有效负载数据在存储器中的物理空间随时间减少,但有效负载本身的大小不改变。例如,在16千字节(KB)NAND存储器页中,BER的增大意谓16KB NAND存储器页之更大部分将专用于存储于页中的数据的ECC,其将是专用于页的保留或安全区域中的ECC的任何位的附加。这减损有效负载数据的物理NAND存储器空间,其原先为16KB,但现在由于需要更大ECC大小而大幅减小。由此断定,每一数据有效负载将溢出越过存储器中的一个以上数据单元。这对如何在数据传送期间管理所存储的数据提出挑战,例如在来自主机的读取或写入请求期间。

技术实现思路

[0006]根据本公开的实施例,提供一种由固态硬盘的控制器执行的方法。所述方法包括从主机接收对存储于所述固态硬盘的多个非易失性半导体存储装置中的一或多者中的读取数据的读取请求。所述方法还包括从存储于所述多个非易失性存储装置中的所述一或多者中的多个码字识别第一码字及第二码字,所述第一码字及所述第二码字包括对应于所述读取请求的所述读取数据。响应于所述读取请求,所述方法包括读取含于所述第一码字中的所述读取数据的第一部分且读取含于所述第二码字中的所述读取数据的第二部分。此外,所述方法包括:组合所述第一部分及所述第二部分作为经组合读取数据;及响应于所述
读取请求,将所述经组合读取数据传送到所述主机。此处,所述第二码字相邻于所述第一码字存储于所述多个非易失性存储装置中的所述一或多者中,且所述经组合读取数据具有大于所述第一码字的第一数据长度或所述第二码字的第二数据长度的数据长度。
[0007]在一些实施方案中,所述读取数据包含逻辑群集地址(LCA)。在特定实施方案中,所述方法进一步包括将所述读取数据的所述LCA转换成其中存储所述读取数据的所述非易失性半导体存储装置中的媒体群集地址(MCA)。在进一步实施方案中,所述方法还包括确定对应于所述MCA的码字偏移,所述码字偏移识别其中开始所述读取数据的所述多个码字中的所述第一码字。在其它实施方案中,所述方法进一步包括识别与所述第一码字偏移相关联的溢出偏移,所述溢出偏移识别其中开始所述读取数据的所述第一码字内的位置。在一些实施方案中,所述方法进一步包括将所述读取数据的所述第一部分从所述第一码字的所述溢出偏移读取到所述第一码字的末尾。
[0008]在特定实施方案中,所述方法进一步包括计算待读取的所述读取数据的所述第二部分。在进一步实施方案中,所述方法包括响应于所述读取数据的所述第二部分为非零而识别所述第二码字的溢出偏移及将所述读取数据的所述第二部分从所述第二码字的开头读取到所述第二码字的所述溢出偏移。在其它实施方案中,所述方法包括确定所述读取数据的所述第二部分是否已溢出到下一相邻码字。在一些实施方案中,所述方法包括响应于所述读取数据的所述第二部分溢出到所述下一相邻码字而识别所述下一相邻码字的溢出偏移及将所述读取数据的所述经溢出第二部分从所述下一相邻码字的开头读取到所述下一相邻码字的所述溢出偏移。在特定实施方案中,所述方法进一步包括索引到地址查找表中,所述地址查找表将所述LCA映射到其中存储所述读取数据的所述非易失性半导体存储装置中的所述MCA。
[0009]在进一步实施方案中,所述方法还包括索引到码字查找表中,所述码字查找表将所述MCA映射到其中存储所述读取数据的所述非易失性半导体存储装置的所述码字偏移。在其它实施方案中,所述方法包括索引到有效负载溢出边界查找表中,所述有效负载溢出边界查找表将所述非易失性半导体存储装置中的码字映射到溢出偏移。在一些实施方案中,所述第一数据长度及所述第二数据长度相等,且所述方法进一步包括:通过从所述读取数据的数据长度减去所述第一数据长度来确定每码字数据溢出;通过使所述每码字溢出乘以所述码字偏移来确定所述非易失性半导体存储装置中每一码字偏移的总溢出;及通过使所述总溢出除以所述第一个数据长度来确定所述溢出偏移。
[0010]在其它实施方案中,所述多个码字存储于所述非易失性半导体存储装置中的一或多个字线上。在一些实施方案中,所述字线中的每一者具有不同码率。在特定实施方案中,所述控制器针对每一码率产生有效负载溢出边界查找表。在特定实施方案中,所述读取数据在多个字线上延续,且所述方法进一步包括确定与每一码字相关联的所述字线及基于所述相关联字线选择有效负载溢出边界查找表。在进一步实施方案中,所述方法进一步包括将所述非易失性半导体存储装置的码率存储于所述控制器内的只读存储器中的配置文件中。
[0011]在一些实施方案中,所述方法进一步包括:确定与所述多个非易失性半导体存储装置中的每一者相关联的位错误率;基于所述位错误率调整所述非易失性半导体存储装置中的至少一者的所述码率;及更新所述配置文件中的所述码率。在特定实施方案中,组合所
述读取数据包括在将所述读取数据传送到所述主机之前组合所述读取数据的所述第一及第二部分与标头、错误校正码(ECC)及奇偶校验码。在进一步实施方案中,所述多个非易失性半导体存储装置中的每一者包括NAND存储器。
附图说明
[0012]将鉴于结合附图的以下详细描述而明白上述及其它目的及优点,其中相同元件符号指代所有相同部件,且其中:
[0013]图1展示根据本公开的一或多个实施例配置的固态硬盘(SSD)的示意图;
[0014]图2说明根据本公开的一或多个实施例的在非易失性半导体存储装置的码字中存本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种由固态硬盘的控制器执行的方法,所述方法包括:从主机接收对存储于所述固态硬盘的多个非易失性半导体存储装置中的一或多者中的读取数据的读取请求;从存储于所述多个非易失性存储装置中的所述一或多者中的多个码字识别第一码字及第二码字,所述第一码字及所述第二码字包括对应于所述读取请求的所述读取数据;响应于所述读取请求,读取含于所述第一码字中的所述读取数据的第一部分且读取含于所述第二码字中的所述读取数据的第二部分;组合所述第一部分及所述第二部分作为经组合读取数据;及响应于所述读取请求,将所述经组合读取数据传送到所述主机,其中所述第二码字相邻于所述第一码字而存储于所述多个非易失性存储装置中的所述一或多者中,且所述经组合读取数据具有大于所述第一码字的第一数据长度或所述第二码字的第二数据长度的数据长度。2.根据权利要求1所述的方法,其中所述读取数据包含逻辑群集地址LCA。3.根据权利要求2所述的方法,其进一步包括:将所述读取数据的所述LCA转换成其中存储所述读取数据的所述非易失性半导体存储装置中的媒体群集地址MCA。4.根据权利要求3所述的方法,其进一步包括:确定对应于所述MCA的码字偏移,所述码字偏移识别其中所述读取数据开始的所述多个码字中的所述第一码字。5.根据权利要求4所述的方法,其进一步包括:识别与所述第一码字偏移相关联的溢出偏移,所述溢出偏移识别其中所述读取数据开始的所述第一码字内的位置。6.根据权利要求5所述的方法,其进一步包括:从所述第一码字的所述溢出偏移到所述第一码字的末尾读取所述读取数据的所述第一部分。7.根据权利要求6所述的方法,其进一步包括:计算待读取的所述读取数据的所述第二部分。8.根据权利要求7所述的方法,其进一步包括:响应于所述读取数据的所述第二部分为非零,识别所述第二码字的溢出偏移,及从所述第二码字的开头到所述第二码字的所述溢出偏移读取所述读取数据的所述第二部分。9.根据权利要求8所述的方法,其进一步包括:确定所述读取数据的所述第二部分是否已溢出到下一相邻码字。10.根据权利要求9所述的方法,其进一步包括:响应于所述读取数据的所述第二部分溢出到所述下一相邻码字,识别所述下一相邻码字的溢出偏移,及
从所述下一相邻码字的开头到所述下一相邻...

【专利技术属性】
技术研发人员:艾米特
申请(专利权)人:铠侠股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1