数据储存装置以及数据存取方法与流程

文档序号:11828618阅读:204来源:国知局
数据储存装置以及数据存取方法与流程

本发明是关于一种数据储存装置,特别是关于可对根据坏列数据跳过损坏的坏列。



背景技术:

快闪存储器为一种可以被电抹除并且重新写入的非易失性存储器,并且主要是应用在存储卡、USB随身盘、eMMC以及固态硬盘(Solid-State Disk)中,借以作为一般的储存与电脑装置和数字产品间的数据的转运。

快闪存储器是包括众多的存储区块(block),并且每一存储区块具有多个用以储存数据的储存页面(page)。快闪存储器是以存储区块为单元进行抹除,而以储存页面为单位进行写入。快闪存储器于生产过程中,会因为粉尘或是光罩问题,使得快闪存储单元中的一整列(column)的数据都无法正确存取。



技术实现要素:

本发明所提供的数据储存装置以及数据存取方法可根据坏列数据跳过快闪存储器中的坏列。

本发明提供一种数据储存装置。数据储存装置包括一快闪存储器以及一控制器。快闪存储器包括多个芯片,并且每一芯片包括由扇区所构成的多条列。控制器被设置为用以根据一读取命令或者一写入命令,对快闪存储器的列中的一第一列至一第N列进行读取或者写入,并且根据一第一坏列数据,在读取或者写入的过程中跳过第一列至第N列中相应于第一坏列数据的多条列,其中第一坏列数据包括一第一数据以及一第二数据,第一数据为一起始地址,并且第二数据为一列数量。

在一实施例中,快闪存储器更包括一坏列表,其中控制器更被设置为用以在读取或者写入的过程之前,读取坏列表,以获得第一坏列数据。控制器更被 设置为根据读取命令或者写入命令,判断即将进行存取的芯片,并读取坏列表中相应于即将进行存取的芯片的数据。

在另一实施例中,坏列表更包括一第二坏列数据,控制器更用以根据第二坏列数据,在读取或者写入的过程中跳过第一列至第N列中相应于第二坏列数据的一条列,其中第二坏列数据包括一第三数据,用以代表一条列的地址。

本发明提供另一种数据储存装置。数据储存装置包括一快闪存储器以及一坏列表。快闪存储器包括多个芯片,并且每一芯片包括由扇区所构成的多条列。坏列表包括多个坏列数据用以记录快闪存储器中坏损的列,其中坏列数据包括至少一第一坏列数据,每一第一坏列数据包括一第一数据以及一第二数据,第一数据为一起始地址,并且第二数据为一列数量。

在一实施例中,坏列数据更包括至少一第二坏列数据,第二坏列数据包括一第三数据,用以代表一条列的地址。另外,坏列表更包括多个芯片区域分别用以储存芯片的坏列数据。

数据储存装置更包括一控制器被设置为根据一读取命令或者一写入命令,判断即将进行存取的芯片,读取坏列表中相应于即将进行存取的芯片的坏列数据。另外,控制器被设置为根据读取命令或者写入命令,对快闪存储器的列中的一第一列至一第N列进行读取或者写入,并且根据所读取的坏列数据,在读取或者写入的过程中跳过第一列至第N列中相应于坏列数据的至少一条列。

本发明更提供一种数据存取方法,适用于一数据储存装置,其中数据储存装置包括一快闪存储器,快闪存储器包括多个芯片,并且每一芯片包括由扇区所构成的多条列。数据存取方法包括:接收相应于对列中的一第一列至一第N列进行读取或者写入的一读取命令或者一写入命令;读取一坏列表中相应于即将进行存取的芯片的至少一第一坏列数据;以及根据读取命令或者写入命令,对快闪存储器第一列至第N列进行读取或者写入,并且根据所读取的第一坏列数据,在读取或者写入的过程中跳过第一列至第N列中相应于第一坏列数据的至少一条列,其中第一坏列数据包括一第一数据以及一第二数据,第一数据为一起始地址,并且第二数据为一列数量。

附图说明

图1为本发明所提供的一电子系统的一种实施例的方块图。

图2为本发明所提供的一数据存取方法的一种实施例的流程图。

附图标记说明:

100 电子系统;

120 主机;

140 数据储存装置;

160 控制器;

162 运算单元;

164 永久存储器;

166 随机存取存储器;

180 快闪存储器;

182 坏列表;

S200-S204 步骤。

具体实施方式

以下将详细讨论本发明各种实施例的装置及使用方法。然而值得注意的是,本发明所提供的许多可行的发明概念可实施在各种特定范围中。这些特定实施例仅用于举例说明本发明的装置及使用方法,但非用于限定本发明的范围。

图1为本发明所提供的一电子系统的一种实施例的方块图。电子系统100包括一主机120以及一数据储存装置140。数据储存装置140包括一快闪存储器180以及一控制器160,且可根据主机110所下达的命令操作。控制器160包括一运算单元162、一永久存储器(如,只读存储器ROM)164以及随机存取存储器(RAM)166。永久存储器164与所载的程序码、数据组成固件(firmware),由运算单元162执行,使控制器160基于该固件控制该快闪存储器180。随机存取存储器(RAM)166用以载入程序码与参数以提供控制器160根据所载入的程序码与参数动作。快闪存储器180包括多个芯片(die),并且每一芯片包括由扇区(sector)所构成的多条列(column)以及多条行(row),其中快闪存储器180中的扇区(sector)更被区分为多个区块以及区块中的多个页面。值得注意的是,一 个用以储存数据的扇区以及一个用以储存错误检查码(ECC Parity)的扇区可构成一存储器单元(chunk),其中存储器单元是一个错误检查(ECC)的计算单位,但本发明不限于此。在其他实施例中,存储器单元亦可由两个用以储存数据的扇区以及两个用以储存错误检查码的扇区构成。

值得注意的是,快闪存储器于生产过程中,会因为粉尘或是光罩问题,使得快闪存储单元中的一整列(column)的数据都无法正确存取,损毁的列称为坏列(bad column)。另外,在某些工艺中,快闪存储单元容易产生连续的坏列。

在本发明的一实施例中,控制器160,被设置为用以根据一读取命令或者一写入命令,对快闪存储器180的列中的一第一列至一第N列进行读取或者写入,并且根据一第一坏列数据,在读取或者写入的过程中跳过第一列至第N列中相应于第一坏列数据的多条列。值得注意的是,第一坏列数据包括一第一数据以及一第二数据,第一数据为一起始地址,并且第二数据为一列数量。因此,控制器160可根据第一数据所相应的起始地址定位至一地址,并且根据第二数据所相应的列数量决定要从所定位的该地址开始跳过几条列,但本发明不限于此。举例而言,当需要跳过的列为50列时,控制器160可根据第一坏列数据中的两个数据跳过该50列,其中第一坏列数据中的第一数据以及第二数据仅需要两个存储器单元(chunk)的存储器空间。

在另一实施例中,控制器160更用以根据一第二坏列数据,在读取或者写入的过程中跳过第一列至第N列中相应于第二坏列数据的一条列。值得注意的是,第二坏列数据包括一第三数据,用以代表一条列的地址。因此,控制器160可根据第二坏列数据中的第三数据所相应的地址定位至一地址,以跳该地址所相应的列,但本发明不限于此。举例而言,当需要跳过的列为50列时,控制器160可根据第二坏列数据中的50个第二坏列数据中的50个第三数据跳过该50列,其中每一第三数据需要一个存储器单元(chunk)的存储器空间。因此,在本实施例中,控制器160需要读取50个存储器单元(chunk)的存储器空间跳过50列。

在一实施例中,快闪存储器180更用以储存一坏列表182。坏列表182包括多个芯片区域分别用以储存芯片的多个坏列数据。坏列数据用以记录快闪存储器180中坏损的列,其中坏列数据包括至少一第一坏列数据。如上所述,每 一第一坏列数据包括一第一数据以及一第二数据,第一数据为一起始地址,并且第二数据为一列数量。在另一实施例中,坏列数据更包括至少一第二坏列数据。如上所述,第二坏列数据包括一第三数据,用以代表一条列的地址。

控制器160更被设置为用以在读取以及写入的过程之前,读取坏列表182,以获得第一坏列数据及/或第二坏列数据。在一实施例中,数据储存装置140被上电后,控制器160将坏列表182自快闪存储器180中载入随机存取存储器166,以在读取以及写入的过程之前直接从随机存取存储器166对坏列表182进行读取。另外,控制器160更被设置为根据读取命令或者写入命令,判断即将进行存取的芯片,并读取坏列表182中相应于即将进行存取的芯片的数据。详细而言,控制器160被设置为根据一读取命令或者一写入命令,判断即将进行存取的芯片,接着再读取坏列表182中相应于即将进行存取的芯片的坏列数据。接着,控制器160根据读取命令或者写入命令,对快闪存储器180的列中的一第一列至一第N列进行读取或者写入,并且根据所读取的坏列数据,在读取或者写入的过程中跳过第一列至第N列中相应于坏列数据的至少一条列。

图2为本发明所提供的一数据存取方法的一种实施例的流程图。数据存取方法适用于图1所示的数据储存装置140。流程开始于步骤S200。

在步骤S200中,控制器160接收相应于对列中的一第一列至一第N列进行读取或者写入的一读取命令或者一写入命令。

接着,在步骤S202中,控制器160读取一坏列表182中相应于即将进行存取的芯片的至少一第一坏列数据及/或至少一第二坏列。

接着,在步骤S204中,控制器160根据读取命令或者写入命令,对快闪存储器180第一列至第N列进行读取或者写入,并且根据所读取的第一坏列数据及/或第二坏列数据,在读取或者写入的过程中跳过第一列至第N列中相应于第一坏列数据的至少一条列。详细而言,控制器160被设置为根据一读取命令或者一写入命令,判断即将进行存取的芯片,接着再读取坏列表182中相应于即将进行存取的芯片的坏列数据。值得注意的是,控制器160是根据所读取的第一坏列数据中的第一数据所相应的起始地址定位至一地址以及根据第一坏列数据中的第二数据所相应的列数量决定要从所定位的该地址开始跳过几条列,并且根据第二坏列数据中的第三数据所相应的地址定位至一地址,以跳 该地址所相应的列,但本发明不限于此。流程结束于步骤S204。

如上所述,本发明所提供的数据储存装置140以及数据存取方法可根据坏列数据跳过快闪存储器180中的坏列,其中第一坏列数据更可以仅借由两个数据记录连续的坏列,以节省存储器空间与控制器160资源。

本发明的方法,或特定型态或其部分,可以以程序码的型态存在。程序码可储存于实体媒体,如软盘、光盘片、硬盘、或是任何其他机器可读取(如电脑可读取)储存媒体,亦或不限于外在形式的电脑程序产品,其中,当程序码被机器,如电脑载入且执行时,此机器变成用以参与本发明的装置。程序码也可通过一些传送媒体,如电线或电缆、光纤、或是任何传输型态进行传送,其中,当程序码被机器,如电脑接收、载入且执行时,此机器变成用以参与本发明的装置。当在一般用途处理单元实作时,程序码结合处理单元提供一操作类似于应用特定逻辑电路的独特装置。

惟以上所述者,仅为本发明的较佳实施例而已,当不能以此限定本发明实施的范围,即大凡依本发明权利要求及发明说明内容所作的简单的等效变化与修饰,皆仍属本发明专利涵盖的范围内。另外本发明的任一实施例或权利要求不须达成本发明所揭露的全部目的或优点或特点。此外,摘要部分和标题仅是用来辅助专利文件搜寻之用,并非用来限制本发明的权利范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1