存储装置和数据储存方法 【技术领域】
本发明有关于一种存储装置,特别是有关于一种具有转存机制的存储装置。
背景技术
NAND闪存可以是单层储存存储单元(Single-Level Cell,SLC)架构或多层储存存储单元(Multi-Level Cell,MLC)架构,其中单一个单层储存存储单元可以储存0或1两个值,而单一个多层储存存储单元可以储存4个以上的值。
单层储存存储单元的优点是稳定以及速度快,而缺点是单位面积储存容量小以及单价高,而多层储存存储单元地优点是单位面积储存容量大以及便宜,而缺点是速度慢以及不稳。现今许多嵌入式系统(embedded system)像是数码相机或手机多以NAND闪存为主要的储存媒介,例如:小型存储卡SD卡、MMC卡、MircoSD卡、CF卡等等。为了不占空间的小体积内提高容量,大部份的架构皆是多层储存存储单元的NAND闪存。然而,更高阶的嵌入式系统,例如:笔记本计算机的储存媒体,将涉及操作系统亦得储存于NAND闪存中,若为了追求大容量而使用多层储存存储单元,将面临操作系统的系统文件容易遗失的高风险。此外,若为了操作系统的高度安全着想,全然使用单价较高的单层储存存储单元,那么又面临消费者难以接受的价格。因此,如何同时应用单层储存存储单元架构或多层储存存储单元于固态硬盘(solid-state disk,SSD)来分别储存操作系统文件及使用者的数据文件将成为未来的重要课题。
【发明内容】
有鉴于此,本发明提供一种存储装置用以存取数据,存储装置包括单层储存存储单元(SLC Unit)、多层储存存储单元(MLC Unit)以及控制单元。单层储存存储单元具有第一连接数据表,其中单层储存存储单元根据第一连接数据表的一实体地址储存数据。多层储存存储单元具有一第二连接数据表,其中多层储存存储单元根据第二连接数据表的一实体地址储存数据。控制单元根据一控制信号决定原本要储存数据至单层储存存储单元转而储存至多层储存存储单元或原本要储存数据至多层储存存储单元转而储存至单层储存存储单元。
本发明更提供一种数据储存方法,包括:接收一逻辑地址和一数据、检测一标志值以及根据标志值以及逻辑地址决定储存数据至一单层储存存储单元或一多层储存存储单元。
本发明更提供一种数据储存方法,包括:发送一控制信号以设定一标志值、根据标志值储存一数据至一单层储存存储单元或一多层储存存储单元以及发送控制信号以解除标志值,其中当标志值被设定唯一特定值时,数据会被强制储存至单层储存存储单元中。
【附图说明】
图1显示根据本发明一实施例的存储装置与系统主机。
图2是显示根据本发明一实施例的单层储存存储单元的第一连接数据表和多层储存存储单元的第二连接数据表互换示意图。
图3是显示根据本发明另一实施例的数据储存方法流程图。
图4是显示根据本发明另一实施例的数据储存方法流程图。
【具体实施方式】
为让本发明的上述和其它目的、特征、和优点能更明显易懂,下文特举出较佳实施例,并配合附图,作详细说明如下:
图1显示根据本发明一实施例的存储装置120与系统主机110。存储装置120通过IDE接口或USB接口或SD/MMC接口等等,与系统主机传送接收数据。存储装置120具有控制单元130、单层储存存储单元(SLC Unit)141和多层储存存储单元(MLC Unit)142。控制单元130接收来自系统主机110的数据、逻辑地址(LogicAddress)以及控制信号,并根据控制信号以及逻辑地址以决定储存数据至单层储存存储单元141或多层储存存储单元142中。
其中,控制信号可以是由系统主机110发出的一种供货商指令(vendorcommand)或是由开关131所定义。而单层储存存储单元141具有第一连接数据表(link table)151,并根据第一连接数据表151的一实体地址储存数据。多层储存存储单元142具有第二连接数据表(link table)152,并根据第二连接数据表152的一实体地址储存数据。根据本发明一实施例,控制单元130根据控制信号决定原本要储存数据至单层储存存储单元141转而储存至多层储存存储单元142或原本要储存数据至多层储存存储单元142转而储存至单层储存存储单元141,并根据逻辑地址来判断原本要储存的位置。
根据本发明另一实施例,存储装置120应用为一固态硬盘(Solid State Drive,SSD)或一存储卡装置(例如:CF卡),计算机系统一般都使用传统硬盘(Hard disk)来储存操作系统数据,然而传统硬盘存取数据速度较存储装置120读取速度慢,若存储装置120为一计算机系统的固态硬盘以储存操作系统数据或重要数据时,计算机系统速度会加快,并且由于单层储存存储单元141比较稳定以及读写次数多(寿命长),系统主机110先传送一供货商指令(vendor command)给控制单元130以设定一标志值(Flag)为1,控制单元130会根据标志值为1将重要数据或操作系统数据强制储存至单层储存存储单元141中以避免因为存储单元的存储单元损坏而造成数据遗失。
根据本发明另一实施例,使用者手动设定开关131使其发出控制信号以设定标志值(Flag)为1,控制单元130会根据标志值为1将数据强制储存至单层储存存储单元141中以避免因为存储单元损坏而造成数据遗失。
本发明并不限定只将数据强制储存至单层储存存储单元141中,也可以将数据强制储存至多层储存存储单元142。
图2是显示根据本发明一实施例的单层储存存储单元的第一连接数据表和多层储存存储单元的第二连接数据表互换示意图。在一般状况,单层储存存储单元141的第一连接数据表151一般都会指向单层储存存储单元141的实体地址,而多层储存存储单元142的第二连接数据表152一般会指向多层储存存储单元142的实体地址。
其中控制单元130可以采用平均磨损技术(wear leaving technology)使得单层储存存储单元141的多个存储单元(memory cells)以及多层储存存储单元142的多个存储单元可以被平均地写入数据以避免某特定存储单元一直被重复读写,造成一些存储单元较容易损坏,这里平均磨损技术只限定于原本要写入单层储存存储单元141的一存储单元转而写入单层储存存储单元141的另一存储单元,或者是原本要写入多层储存存储单元142的一存储单元转而写入多层储存存储单元141的另一存储单元。
然而,当控制信号设定一标志值(Flag)为1时,控制单元130会将原本要储存至多层储存存储单元142的数据强制储存至单层储存存储单元141中,因此单层储存存储单元141的SLC连接数据表151将会记录MLC子连接数据表154,使得原先指向单层储存存储单元141的逻辑地址将转而指向多层储存存储单元142的实体地址。另外,多层储存存储单元142的MLC连接数据表152亦会包含一SLC子连接数据表153,使得原先指向多层储存存储单元142的逻辑地址转而指向单层储存存储单元141之实体地址,如第2图所示。
图3是显示根据本发明另一实施例的数据储存方法流程图。首先,控制单元130接收到数据和逻辑地址(步骤S310),之后控制单元130检测标志值(Flag)(步骤S320),标志值是决定将数据储存至单层储存存储单元141或多层储存存储单元142,若数据为重要数据或操作系统文件,标志值会被设定为1以强制储存数据至单层储存存储单元141以避免数据遗失。若控制单元130检测标志值为1,控制单元将数据写入单层储存存储单元141(步骤S330),若控制单元130检测标志值为0,控制单元将数据写入多层储存存储单元142(步骤S340)。
图4是显示根据本发明另一实施例的数据储存方法流程图。主机发送供货商指令(Vendor Command)(步骤S410)以设定标志值为1,控制单元检测到标志值为1时会储存数据(重要数据或操作系统数据)至单层储存存储单元141中(步骤S420),之后主机会再发送供货商指令(Vendor Command)以设定标志值为0以解除控制单元130强制储存数据至单层储存存储单元141(步骤S430),因此若标志值为0时,控制单元130会根据逻辑地址储存数据至单层储存存储单元141或多层储存存储单元142。
由于单层储存存储单元141寿命较长也较稳定,本发明利用控制信号设定标志值为一特定值,通过检测特定值以决定是否要将原本要储存数据至多层储存存储单元142转而储存至单层储存存储单元141以避免数据流失。
本发明虽以较佳实施例揭露如上,然其并非用以限定本发明的范围,任何熟习此项技艺者,在不脱离本发明的精神和范围内,当可做些许的更动与润饰,因此本发明的保护范围当以权利要求所界定的为准。