首页> 中国专利> 固态器件中的多纠错码代码字尺寸

固态器件中的多纠错码代码字尺寸

摘要

本发明提供了一种用于将具有多个尺寸的多个代码字写入固态器件的方法。在一个方面,一种方法包括接收多个主机数据单元用于存储在固态非易失性存储器中。该方法包括将所述多个主机数据单元划分成多个数据有效载荷,其中第一数据有效载荷包括第一主机数据单元,而第二数据有效载荷包括第二主机数据单元的一部分。该方法包括将第一数据有效载荷编码成具有第一代码字尺寸的第一代码字。该方法包括将第二数据有效载荷编码成具有第二代码字尺寸的第二代码字,第二代码字尺寸不同于第一代码字尺寸。该方法包括将第一代码字和第二代码字写到固态非易失性存储器中的第一页。还提供了系统和机器可读介质。

著录项

  • 公开/公告号CN105302659A

    专利类型发明专利

  • 公开/公告日2016-02-03

    原文格式PDF

  • 申请/专利权人 HGST荷兰公司;

    申请/专利号CN201510431923.7

  • 发明设计人 R.D.巴恩特;

    申请日2015-07-21

  • 分类号G06F11/10(20060101);

  • 代理机构11105 北京市柳沈律师事务所;

  • 代理人黄剑飞

  • 地址 荷兰阿姆斯特丹

  • 入库时间 2023-12-18 13:57:21

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-02-15

    专利权的转移 IPC(主分类):G06F11/10 登记生效日:20190123 变更前: 变更后: 申请日:20150721

    专利申请权、专利权的转移

  • 2018-10-26

    授权

    授权

  • 2016-03-02

    实质审查的生效 IPC(主分类):G06F11/10 申请日:20150721

    实质审查的生效

  • 2016-02-03

    公开

    公开

说明书

技术领域

本主题技术总体涉及一种固态存储设备。

背景技术

主机数据可以通过将主机数据编码成纠错码(ECC)代码字并将该代码 字存储在数据存储介质上而被可靠地存储在诸如闪存的数据存储介质中。响 应于读取命令,代码字可以从所述数据存储介质中被读取并且在将无差错主 机数据传递给主机之前被解码。主机数据的扇区的尺寸可以基于主机系统而 改变。例如,在企业应用中,相对于在许多客户应用中所使用的512字节, 主机扇区尺寸在增加ECC奇偶校验位之前可以是536字节。不同尺寸的和主 机扇区可以增加如固态器件(SSD)的基于闪存的数据存储系统的复杂性以 及折中该数据存储系统的性能。

发明内容

披露了一种用于在固态器件中存储数据的系统和方法。根据一个方面, 一种方法可包括:接收多个主机数据单元,用于存储在固态非易失性存储器 中;在多个数据有效载荷之间划分所述多个主机数据单元,其中第一数据有 效载荷包括第一主机数据单元,而第二数据有效载荷包括第二主机数据单元 的一部分;将第一数据有效载荷编码成具有第一代码字尺寸的第一代码字; 将第二数据有效载荷编码成具有第二代码字尺寸的第二代码字,第二代码字 尺寸不同于第一代码字尺寸;以及将第一代码字和第二代码字写到固态非易 失性存储器中的第一页。在另一个方面,一种机器可读介质可以包括其上的 指令,这些指令在被执行时执行前述方法。

在另一个方面,一种系统可以包括:固态非易失性存储器;一个或多个 数据缓存器,配置为接收多个主机数据单元,用于存储在所述固态非易失性 存储器中;控制器,被配置为在多个数据有效载荷之间划分在所述一个或多 个数据缓存器中的所述多个主机数据单元,其中第一数据有效载荷包括第一 主机数据单元,而第二数据有效载荷包括第二主机数据单元的一部分;以及 编码器/解码器,被配置为将第一数据有效载荷编码成具有第一代码字尺寸的 第一代码字以及被配置为将第二数据有效载荷编码成具有第二代码字尺寸的 第二代码字,所述第二代码字尺寸不同于所述第一代码字尺寸,其中所述控 制器还被配置为将所述第一代码字和所述第二代码字写到固态非易失性存储 器中的第一页。

应该理解的是,本领域技术人员根据下面的详细描述易于清楚该主题技 术还有其它配置,在下面的详细描述中通过图释方式示出并描述了该主题技 术的各种配置。如所认识到的那样,该主题技术能够有其它的和不同的配置, 并且其几个细节能够在各种其它方面进行修改,所有这些都不脱离本主题技 术的范围。因此,这些附图和详细描述自然地都将被认为是阐述性的而不应 该被认为是一种限制。

附图说明

下面将参照附图进行详细描述。

图1是根据本主题技术的方面的框图,图释了一系列包括主机数据和纠 错码的代码字的实例,这些代码字跨存储器块的多个页被存储。

图2描绘了根据本主题技术的方面的框图,图释了固态器件的组件,这 些组件被配置为存储从主机系统中接收的数据。

图3是根据本主题技术的方面的流程图,图释了用于将数据存储在固态 器件中的实例处理。

具体实施方式

下面给出的详细描述意图作为本主题技术的各种配置而不意图代表其中 可以实现本主题技术的仅有配置。所述附图被包含在此处并构成该详细描述 的一部分。该详细描述包括用于提供该主题技术的整体理解的一些具体细节。 不过,本主题技术可以不采用这些具体细节来实施。在某些实例中,构件和 组件以框图形式显示以避免掩盖本主题技术的构思。为了便于理解相同的组 件采用同样的元件数字来标记。

闪存被组织成闪存单元的块。每块包括多个可以含有成千上万个比特的 页。数据以页为单位写入闪存以及从闪存中读出。不过,闪存必须以块为单 位被擦除。数据可以被写到顺序地跨闪存器件的闪存页。可以经由独立信道 在不同闪存器件上写顺序页,这会使得通过经由独立信道向每个各自的闪存 器件发送读取命令来并行地读取该顺序页。采用这种方式,可以快速实现从 闪存中的数据检索。

有些闪存器件的制造者可以将闪存页配置成将闪存页的尺寸固定在512 字节大多个用于ECC开销的额外空间的倍数。不过,在企业(enterprise)SSD 中,将要存储在SSD上的主机数据单元(或扇区)可以不与闪存页对齐(align)。 例如,企业主机数据单元可以大于512字节,诸如528字节或536字节,这 会降低用于ECC奇偶校验位的空间量。此外,指定的ECC格式可能不足以 达到具有所需的不可校正比特错误率的编程/擦除循环的理想的数量,因为 来自闪存的原始比特错误率会随着其磨损(wearsout)而增加。

当在被配置用于512字节的主机数据单元的SSD中写入大于512字节的 主机数据单元时,该SSD可能尚未填满闪存的整页而停止,因为未划分的代 码字将不会填充该页,或者跨两页拆分某些代码字。前者会很昂贵,因为需 要更多的闪存来存储相同数量的主机数据。后者可能需要读取两页来检索用 于单一主机数据单元的代码字,这在等待检索两页的同时占用(tieup)SSD 中的资源.

ECC解码直到整个代码字已经从闪存中检索到为止才开始。不过,为了 使得闪存中的存储空间的利用率最大化,代码字可以被拆分跨在两个闪存页 上。例如,如果闪存页的尺寸为16kB并且每个代码字的尺寸为4kB加ECC 奇偶校验位,则三个完整的代码字就可以写入该闪存页,但是第四个完整的 代码字可能不适于该闪存页,因为每个代码字的ECC奇偶校验位要占用空间。 与将闪存页上的剩余的空间空出来不同,下一个代码字可以被拆分到跨两个 闪存页。在该实例中,4kB代码字的3kB可以被写入该闪存页而4kB代码字 的剩余1kB可以被写入另一个闪存页。

不过,如果代码字被拆分跨两个闪存页,则解码器必须等待两个页被读 取,这会需要将第一接收部分保存在缓存器中直到接收到第二部分为止。对 于诸如低密度奇偶校验(LDPC)的更高级ECC系统而言,后果会更严重, 因为两页的错误特性可能需要不同的处理。因此,对代码字来说跨页边界是 不理想的,并且不将闪存中的存储空间利用率最大化也是不理想的。

与将不适于一页的代码字分拆到两页上不同,本主题技术将主机数据单 元划分成两个独立的代码字并将这两个代码字写到相邻的页。采用这种方式, 每个代码字不会横跨页边界并且闪存中的存储空间可被最大化。

单一ECC编码器/解码器可以被用于使用在最长和最短代码字两者中的 相同数量的奇偶校验位切换代码字长度。例如,对于1kB代码字可以像4kB 代码字一样使用相同数量的奇偶校验位。1kB代码字可以通过ECC被过度保 护,由于其可能不需要与通过ECC提供的奇偶校验位一样多的奇偶校验位, 但是,与通过具有附加的较小的代码字而从减少页中的无用位的数量所获得 的增益相比,过量的奇偶校验位所占用的任何额外空间都是较小的。而且, 如果在最长代码字中含有所有主机数据的大部分(bulk),则多个代码字尺寸 系统的性能将接近于仅仅使用最长代码字的固定尺寸系统,并且读取放大率 (readamplification)也可能被最小化。

图1描绘了根据本主题技术的一个方面的一个框图,其图释了跨闪存块 的多个页所存储的代码字的实例系列。每个代码字100a-100l、102a-102b、 104a-104b、106a-106b包含有主机数据和纠错码。每个代码字的尺寸选自于 可能代码字尺寸列表。例如,在图1中,代码字100a-100l都是第一尺寸,代 码字102a-102b为第二尺寸,代码字104a-104b为第三尺寸,以及代码字 106a-106b为第四尺寸。

本主题技术生成并提供所占空间尽可能与每个闪存页120a-120d一样多 的代码字100a-100l、102a-102b、104a-104b、106a-106b。例如在将代码字 100a-100c写入页120a之后,适合于页120a的剩余空间的最大代码字尺寸为 代码字102a,其为第二次尺寸。通过使用代码字,与将代码字104a或代码字 106a写入页120a中相比,代码字102a的尺寸将尽可能多地使用闪存页 120a-120d。尽管代码字100a-100c和102a不会占用页120a的全部,但是实 质上占用页120a的全部。在有些方面,如果在特定页中剩余的空间量小于最 小代码字尺寸,那么该页的全部实质上被占用。

图2描绘了根据本主题技术的框图,其图释了固态器件的被配置为存储 从主机系统接收的数据的组件。数据存储系统200包括:处理器201(例如, 数据存储或SSD控制器,微处理器等)、一个或多个存储器件202(例如,闪 存器件或其它类型的存储器件,诸如随机存取存储器、光学或磁性介质器件 的)、输入/输出(I/O)接口203、数据缓存器204、配置存储器205以及 ECC编码器/解码器206。

数据缓存器204提供硬件机构,用于实现SSD前端和SSD后端的分离, 所述SSD前端与主机系统接口,所述SSD后端与存储器件202接口。数据 在经由I/O接口203从主机系统被接收用于存储时或者在从存储器件202检 索到用于经由I/O接口203传输到主机系统时临时存储在数据缓存器204中。 当起到帮助存储的功能时,数据缓存器204可以被分割以便临时划分其中所 存储的数据并适当地创建有尺寸的(sized)数据有效载荷,用于编码成由SSD 后端使用的代码字。采用这种方式,SSD后端参与将数据有效载荷编码成适 合于在存储器件202的页边界内的代码字,并且将从存储器件202所检索的 代码字解码成相同尺寸大小的数据有效载荷。另一方面,SSD前端参与接收 和发送主机数据单元。

数据缓存器204可以由易失性或非易失性存储器来实现,并且可以包括 一个或多个块、页、或其它存储单元。数据缓存器204和存储器件202的功 能可以在同一存储器件中或者跨一组存储器件分布。而且,存储器件可以采 用任何形式,诸如,闪存、RAM、光学或磁性介质等等。在一个实例中,数 据缓存器204是一个或多个存储器件202内(例如,在运行时间动态地)预 留的存储器的一部分。

数据存储系统200可以包括机器可读介质(例如,非瞬态介质),其上包 括指令,该指令在被执行时,实现此处所描述的在I/O接口203、数据缓存器 204以及存储器件202之间的数据传送以及数据的传输和/或修改的其它方法。 在一个实施例中,数据存储系统200从主机设备接收主机数据单元。所述主 机数据单元可以包括一个或多个扇区的数据或者根据主机设备设定尺寸的其 他数据单元。所述主机数据单元可以每个具有相同的尺寸,并且该尺寸可以 有主机系统确定。所述主机系统可以包括例如微处理器、外部存储器和/或与 包括存储器件的数据存储系统协同运行的外围组件。

通过将来自主机数据单元的数据有效载荷编码成代码字以及将该代码字 存储在存储器件202中,从主机接收的数据可以存储在存储器件202中。所 述主机数据单元接收于主机,进入数据缓存器204,并且数据缓存器204将 所述主机数据单元存储在数据有效载荷中。所述数据有效载荷ECC编码器/ 解码器206编码,并且数据缓存器204有助于根据所述数据有效载荷形成 (populate)一个或多个尺寸的一个或多个代码字。在一些方面,可利用的代 码字尺寸基于ECC编码器/解码器206的能力。例如,ECC编码器/解码器206 能够编码和解码1kB代码字、2kB代码字、3kB代码字以及4kB代码字。在 有些方面,所述控制器201向ECC编码器/解码器206指明了在编码特定数 据有效载荷时使用的代码字的尺寸。在有些方面,ECC编码器/解码器206可 以基于将被编码的所述数据有效载荷的尺寸动态地确定将使用那个尺寸的代 码字。

ECC编码器/解码器206吞吐量可以以每秒的代码字来进行测量。例如, ECC编码器/解码器206可以花费与1kB代码字所花费的时间相同量的时间来 编码4kB代码字。因此,理想的是尽可能使得代码字的尺寸一样大,因为编 码一个4kB代码字所花费的时间小于编码4个14kB代码字所花费的时间。 可选择地,ECC编码器/解码器206吞吐量可以以每秒的字节数来测量。例如, ECC编码器/解码器206可以花费比4kB代码字所花费的时间短的时间来编码 1kB代码字。因此,使用较小的代码字可能依然不能与使用更长的代码字一 样有效率,因为可能存在每个代码字处理时间

在所描述的实例中,数据存储系统200可以在两个数据有效载荷之间划 分所接收到的主机数据单元。第一数据有效载荷可以编码成第一代码字而第 二数据有效载荷编码成第二代码字。如上所述,将为每个数据有效载荷编码 的代码字的尺寸可以由所述控制器201确定并且被指示给ECC编码器/解码 器206。代码字的构建可以在数据缓存器204中发生。数据缓存器204可存 储从主机接收到的主机数据,该数据缓存器204可存储由所述控制器201所 创建的数据有效载荷,并且数据缓存器204可存储准备被写到存储器件202 的被编码代码字。

在已经生成代码字之后,该代码字可以被写到闪存的一个或多个页。在 有些方面,该代码字可以存储在闪存页的各个地址。在一个方面,这些代码 字可以顺序地存储。在上述实例中,含有所接收到的主机数据单元的第一部 分的第一代码字可以被写到第一页,而含有所接收到的主机数据单元的第二 部分的第二代码字可以被写到第二页。如上所述,第一和第二页可以是相邻 页,因为闪存页是按顺序被写入的。每个代码字所存储的各个地址可以基于 代码字长度、闪存页尺寸以及各个闪存页的开始地址被预先确定,或者在运 行时间确定,并且存储在例如配置存储器205中。配置存储器205可以包括 查找表,并且在向存储器件202存储和从存储器件205代码字之前,处理器 201可以从查找表检索与该代码字相关联的相应地址。

在有些方面,SSD控制器保持存储在闪存中的每个主机数据单元的虚拟 地址。当接收到用于存储的主机数据时,所述主机数据单元与相应的逻辑地 址相关联。控制器将主机数据单元的相应逻辑地址映射到所述主机数据单元 被编码成的对应数据代码字的虚拟地址。采用这种方式,每个主机数据单元 在它们被存储之后可能占(accountfor)多个数据代码字。所述多个代码字的 每一个的虚拟地址随后被映射到闪存中的物理地址。因此,即使主机数据单 元开始于代码字内的位置(例如,在开始数据位置),SSD控制器也知晓每个 主机数据单元的位置整体地落于单一代码字内、跨过代码字边界,或者甚至 跨过闪存页的边界。在一个实例中,逻辑地址的映射包括第一虚拟地址的每 一个的偏移值,使得主机数据单元可以被编索引(index)以及从被编码到单 一代码字或多个代码字之间的一个或多个数据有效载荷中被检索到。

类似地,SSD控制器可以存储在相应偏移地址处的一个或多个代码字、 基于所述代码字长度的偏移地址、闪存页尺寸以及闪存页的起始地址。因此, 在存储器件中存储代码字可以包括从查询表中检索与存储器件的闪存页相关 联的相应偏移地址以及将相应的代码字存储在相应偏移地址处。

还是参见图2,处理器201可以起到SSD控制器的功能。处理器201可 以使用配置存储器205,用于临时存储用来管理数据存储系统200的数据和 信息。处理器201可以包括几个内部组件(未示出),诸如只读存储器、闪存 组件接口(例如,管理沿着到存储器件202的串行连接的指令和数据传送的 多路复用器)、I/O接口、纠错电路等等。在有些方面,控制器201的所有这 些元件都可以继承到单一芯片上。在其他方面,这些元件可以分开位于其自 己的PC板上。

处理器201还可以被配置为执行代码或指令以便执行此处所描述的操作 和功能,管理请求流和地址映射,以及执行计算和生成命令。处理器201被 配置为监视和控制系统200的组件的操作。该处理器可以是通用微处理器、 数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、 可编程逻辑器件(PLD)、控制器、状态机、门逻辑(gatedlogic)、离散硬件 组件或前述例子的组合。一个或多个指令序列可以存储为处理器201和/或其 处理器内的ROM上的固件。一个或多个指令序列可以为存储在存储介质205、 存储器件202中和从其中读取的软件、从主机设备(例如,经由I/O接口203) 接收的软件。ROM、存储介质205、存储器件202代表机器或计算机可读介 质(例如非瞬态介质)的实例,其上可以存储可由处理器201和/或其处理器 执行的指令/代码。机器或计算机可读介质通常可以指的是任何用于向处理器 201和/或其处理器提供指令的介质或媒介,包括诸如用于存储介质205或用 于内的缓存器的动态存储器的易失性介质和诸如电子介质、光学介质以及磁 性介质的非易失性介质两者

在有些方面,存储器件202包括闪存。处理器201被配置为响应于来自 主机设备的写命令在存储器件202中存储从主机设备接收的数据(例如,前 面描述的主机扇区(sector)数据)。处理器201还被配置为响应于来自主机 设备的读取命令读取存储在存储器件202中数据并且将所读取的数据传送到 主机设备。主机设备可以是被配置为经由I/O接口203连接到数据存储系统 200以及将数据存储在数据存储系统200中的任何设备。该主机设备可以是 计算系统,诸如个人计算机、服务器、工作站、膝上计算机、PDA、智能电 话等等。可替代地,主机设备可以是电子设备,诸如数字相机、数字音频播 放器、数字视频记录器等等。

在有些方面,配置存储器是一种存储介质。在这点上,存储介质205代 表被用于临时存储用来管理数据存储系统200的数据和信息的易失性存储 器。根据本主题技术的一个方面,存储介质205是一种随机存取存储器 (RAM),诸如双数据率(DDR)RAM。其它类型的RAM也可以被用来实 现存储介质205。存储器205可以使用单一RAM模块或多个RAM模块来实 现。尽管存储介质205别描绘成不同于处理器201,但是本领域技术人员将 意识到,存储介质205可以结合到处理器201而不会脱离本主题技术的范围。 可替代地,存储介质205可以数非易失性存储器,诸如,磁性盘、闪存、外 围SSD等等。

如在图2中进一步描绘的那样,数据存储系统200还可以包括I/O接口 203(例如,主机接口)。I/O接口203被配置为连接到主机设备,以便从主机 设备接收数据以及向主机设备发送数据。I/O接口203可以包括点连接和物理 连接两者,用于例如经由处理器201的I/O接口可操作地将主机设备连接到 处理器201。I/O接口203被配置为在主机设备和处理器201之间进行数据、 地址以及控制信号的通信。可替换地,处理器201的I/O接口可包括I/O接口 203和/或与I/O接口203结合。I/O接口203可以被配置为实现一种标准接口, 诸如,串行连接SCSI(SAS)、光纤通道接口、PCIExpress接口(PCIe)、SATA、 USB等。I/O接口203可以被配置为仅仅实现一个接口。可替换地,I/O接口 203(和/或处理器201的I/O接口)可以被配置为实现多个接口,其使用用户 所选择的或在组装时被编程的配置参数可以单个地选择。I/O接口203可以包 括一个或多个缓存其,用于缓存主机设备和处理器201之间的传输量 (transmission)。

存储器件202代表用于存储数据的非易失性存储器件。根据本主题技术 的方面,存储器件202包括例如NAND闪存。存储器件202可以包括单一闪 存期间或芯片,如图2所示,或者可以包括排列在多个通道中的多个闪存期 间或芯片。闪存不限于任何特定容量或配置。例如,物理块的数量、每个物 理块的物理页的数量、每个物理页的扇区的数量以及扇区的尺寸可以在本主 题技术的范围内改变。

图3是根据本主题技术的流程图,图释了用于将数据存储在固态器件中 的实例处理。图3中所呈现的实例处理可以采用闪存来执行,该闪存代表在 用于数据存储的固态器件中使用的固态非易事存储器的一个实例。其它类型 的固态非易失性存储器可以用于本主题技术,包括组织成有限长度页的存储 器。其它类型的固态非易失性存储器可以包括但不限于,限制性随机存取存 储器(ReRAM或RRAM)、非易失性静态随机存取存储器(nvSRAM)、铁电 随机存取存储器(FeRAM)、磁阻效应随机存取存储器(MRAM)、自旋转移 力矩RAM(STTRAM)、相变化存储器(PCM或PCRAM)、可编程金属化单 元存储(PMC)、硅氧化物-氮氧化物-硅存储器(SONOS)、赛道记忆体 (racetrack)或磁畴壁(domain-wall)存储器(DWM)以及纳米RAM(NRAM)。 用于在例如闪存的固态非易失性存储器中存储的主机数据单元(例如,扇区) 可以通过所述控制器201(302)接收。主机数据单元可以包括主机系统所提 供的一个或多个扇区。如上所述,所述主机数据单元每个可以具有相同的尺 寸。

所述多个主机数据单元划分成多个数据有效载荷,其中第一数据有效载 荷包括第一主机数据单元而第二数据有效载荷包括第二主机数据单元的一部 分(304)。在这方面,有些所述数据有效载荷包括整个主机数据单元而其他 包括主机数据单元的部分。因此,尽管所述主机数据单元每个具有相同尺寸, 但是所述数据有效载荷也可以不都具有相同尺寸。

所述第一数据有效载荷被编码到具有第一代码字尺寸的第一代码字 (306)。第二数据有效载荷被编码到具有第二代码字尺寸的第二代码字,所 述第二代码字尺寸不同于所述第一代码字尺寸(308)。如上所述,所述第一 代码字尺寸和所述第二代码字尺寸可以基于ECC编码器/解码器206的能力。

所述第一代码字和所述第二代码字被写到闪存中的第一页(310)。通过 将所述第二主机数据单元划分成多个数据有效载荷,可以将闪存存储空间最 大化。例如,参见图1,如果闪存的页120a的尺寸为16kB以及用于开销 (overhead)的一些空间(room),其能够存储三个尺寸为每个4kB加上ECC 奇偶校验位的代码字100a-100c。不过,闪存中的页120a可以不具有剩余用 于第四个4kB代码字和ECC奇偶校验位的足够空间(room)。相反,其可以 具有用于3kB代码字和ECC奇偶校验位的空间。如果该闪存不具有剩余用于 3kB代码字的足够空间,则所述控制器201可以核实看看是否存在用于2kB 代码字的空间。如果该闪存不具有剩余用于2kB代码字的足够空间,则所述 控制器201可以核实看看是否存在用于1kB代码字的足够空间。如果该闪存 不具有剩余用于甚至最小的代码字的足够空间,则将最大尺寸的代码字,在 该实例中为4kB,写到下一页。

一旦第二代码字102a被写入闪存内的第一页120a,则含有所述第二主机 数据单元的剩余部分的第三数据有效载荷可以被编码成具有第三代码字尺寸 的第三代码字104a。在上述实例中,第二代码字102a的尺寸为3kB,因此, 第三代码字104a尺寸为1kB。第三代码字104a被写到与第一页120a邻近的 第二页120b。如上所述,如果存在一个命令要读取在两页120a和120b上的 被划分跨两个代码字102a和104a的主机数据单元,该系统可以解码所述两 个代码字102a和104a,并且不会读取第一页120a或第二页120b上的任何 其它数据以便访问所请求的主机数据单元。

为了尽可能多地将最大的代码字写入闪存,所述控制器201可以查看是 否有一个或多个最大尺寸的代码字可以被写入该页。在这种情况下,有用于 最大尺寸的多个代码字的足够空间,则将所述第一代码字尺寸的三个以上的 代码字100d-100f(在本实例中,4kB)写入第二页120b。在写入具有1kB 代码字尺寸的代码字104a和每个具有4kB代码字尺寸的代码字100d-100f之 后,尺寸为16kB的第二页120b不能适于另一个3kB代码字,但是可适于具 有2kB代码字尺寸的代码字106a。如前所述,将被存储在闪存上的下一个主 机数据单元可以被划分成两个数据有效载荷,并被编码到两个代码字106a和 106b。一个代码字106a被写入第二页120b而另一个代码字106b被写入第三 页106b。

该处理继续,尽可能多地使用最大代码字尺寸。在图1中,代码字 100g-100l、102b、104b被写入页120c-120d知道页以最大代码字尺寸的代码 字结束为止。在该实例中,第四页120d以最大代码字尺寸的代码字100l结 束。1kB代码字将不适于第四页120d。代码字100a-100l、102a-102b、104a-104b、 106a-106被写入并按照代码字尺寸的模式(pattern)排列。在这种情况下, 该模式为4kB、4kB、4kB、3kB、1kB、4kB、4kB、4kB、2kB、2kB、4kB、 4kB、4kB、1kB、3kB、4kB、4kB、4kB。在编码和存储剩余的主机数据单元 时可以重复该相同的模式。

本领域技术人员会理解到,此处所描述的各种图释性的块、元件、组件、 方法以及算法可以实现为电子硬件、计算机软件或两者的组合。为了解释硬 件和软件的这种互换性,已经总体上按照其功能描述了各种图释性的块、元 件、组件、方法以及算法。这种功能实现为硬件或软件依赖于影响到整体系 统的特定的应用和设计限制。本领域技术人员可以以用于每种特定应用的不 同方式实现所述功能。各种组件和块可以在不脱离本主题技术的范围的情况 下被完全不同地排列(例如,按照不同顺序排列或者按照不同方式分隔)。

可以理解的是,在所披露的处理中的步骤的具体顺序或层级是一种举例 方式的解释。基于设计偏好,可以理解的是,所述处理中的步骤的具体顺序 或层级可以被重新排列。有些步骤可以同步地被执行。附后的方法权利要求 以相同的顺序给出了各个步骤的元素,但是不意味着将按照所呈现的具体顺 序或层级收到限制。

所提供的前面的描述使得本领域技术人员能够实现此处描述的各个方 面。前述描述提供了该主题技术的各种实例,并且该主题技术不限于这些实 例。本领域技术人员清楚对这些方面可以有各种修改,并且此处所限定的总 原则可以应用到其他方面。因此,权利要求书不意图受限于此处所示的这些 方面,而是将于由语言权利要求构成的全部范围一致,其中以单数形式提到 的元件并不意图意味着“一个和仅有一个”,除非有明确的说明,而是应该理 解为“一个或多个”。除非有具体明示,术语“有些”指的是一个或多个。男 性代词(例如,他的)包括女性和中性(例如,她的和它的),反之亦然。标 题和小标题,如果有的话,仅仅是为了方便使用,并不限制本发明。

谓词“配置为”、“可操作来”以及“被编程为”不意味着对象的特定有 形或无形的修改,而是意图可以被互换性使用。例如,被配置为件事和控制 操作或组件的处理器也可以意味着该处处理器被编程为监视和控制该操作或 者该处理器可操作来监视或控制该操作。同样地,被配置为执行代码的处理 器可以被认为是被编程为执行代码的处理器或可以操作为执行代码的处理 器。

诸如“方面”这种措辞并不意味着这种方面对该主题技术是必要的或者 这种方面应用于该主题技术的所有配置。涉及一个方面的披露内容可以应用 到所有配置,或者应用到一个或多个配置。一种方面可以提供一个或多个实 例。诸如一个方面这种措辞可以指的是一个或多个方面,反之亦然。诸如“实 施例”这种措辞并意味着该实施例对本主题技术是必要的或者该实施例应用 于该主题技术的所有配置。涉及一个实施例的披露内容可以应用到所有实施 例,或者应用到一个或多个实施例。一种实施例可以提供一个或多个实例。 诸如“实施例”的措辞可以指的是一个或多个实施例,反之亦然。诸如“配 置”这种措辞并意味着该配置对本主题技术是必要的或者该配置应用于该主 题技术的所有配置。涉及一个配置的披露内容可以应用到所有配置,或者应 用到一个或多个配置。一种配置可以提供一个或多个实例。诸如“配置”的 措辞可以指的是一个或多个配置,反之亦然。

单词“示例性”在此被用来表示“起到一个例子或说明性的作用”在此 被描述为“示例性”的方面或设计都不必然被认为是高于其他方面的或设计 的优选的或最佳的方面。

等同于在本公开通篇所描述的各种方面的元件的、对本领域普通技术人 员已知或将来所知晓的所有结构和功能等同无在此通过参引包含在此处并且 意图由权利要求书所涵盖。而且,在此没有披露的任何事情意图将被奉献给 公众,无论这种披露是否明确限定在权利要求书中。没有权利要求元素被根 据美国专利法35U.S.C.§112,第六段被解释,除非该元素使用“用于…的装 置”的措辞来限定,或者在方法权利要求的情况下,该元素使用“用于…的 步骤”的措辞来限定。此外,就说明书和权利要求书中的术语“包括”、“具 有”等而言,这种术语将是包含性的,方式上类似于术语“包含”,就像在权 利要求中被用作过渡词是解释“包含”时一样。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号