CN103403691B - 信息处理装置、外部储存装置、主机装置、中继装置、信息处理装置的控制方法 - Google Patents

信息处理装置、外部储存装置、主机装置、中继装置、信息处理装置的控制方法 Download PDF

Info

Publication number
CN103403691B
CN103403691B CN201180068496.0A CN201180068496A CN103403691B CN 103403691 B CN103403691 B CN 103403691B CN 201180068496 A CN201180068496 A CN 201180068496A CN 103403691 B CN103403691 B CN 103403691B
Authority
CN
China
Prior art keywords
read
host apparatus
storage device
external storage
ssd10
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201180068496.0A
Other languages
English (en)
Other versions
CN103403691A (zh
Inventor
桥本大辅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kioxia Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Publication of CN103403691A publication Critical patent/CN103403691A/zh
Application granted granted Critical
Publication of CN103403691B publication Critical patent/CN103403691B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/21Employing a record carrier using a specific recording technology
    • G06F2212/214Solid state disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7204Capacity control, e.g. partitioning, end-of-life degradation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Abstract

根据一个实施例,当满足切换至只读模式的切换条件时,外部储存装置转换至仅支持非易失性存储器的读取操作的接口控制器。当基于从所述外部储存装置获取的信息而确定识别为只读存储器时,主机装置转换至仅支持所述非易失性存储器的所述读取操作的接口驱动器。

Description

信息处理装置、外部储存装置、主机装置、中继装置、信息处理装置的控制方法
相关申请的交叉引用
本申请基于且要求2011年3月10日提交的日本专利申请第2011-053228号以及2011年7月25日提交的日本专利申请第2011-162330号的优先权的权益。这些申请的全部内容将以引用的方式并入本文。
技术领域
本文所描述的实施例总体涉及信息处理装置、外部储存装置、主机装置、中继装置、控制程序以及信息处理装置的控制方法。
背景技术
作为在计算机系统中使用的外部储存装置,安装有诸如与非型快闪存储器的非易失性半导体存储器的SSD(固态驱动器)引起了人们的注意。与磁盘装置相比,快闪存储器具有诸如高速及重量轻的优点。SSD包括:多个快闪存储芯片;控制器,其响应于来自主机设备的请求而对相应的快闪存储芯片进行读取/写入控制;缓冲存储器,其用于在对应的快闪存储芯片与主机设备之间进行数据传送;供电电路以及到主机设备的连接接口。
附图说明
图1是图解说明第一实施例的计算机系统的功能配置示例的框图。
图2是图解说明与非存储芯片的内部配置示例的框图。
图3是图解说明与非存储芯片中含有的一个平面的配置示例的电路图。
图4是图解说明四值数据储存方法中阈值分布的视图。
图5是图解说明当将SSD控制工具保存在SSD中时计算机系统的功能配置示例的框图。
图6是图解说明当将SSD控制工具保存在另一外部储存装置中时计算机系统的功能配置示例的框图。
图7是图解说明当安装来自网页的SSD控制工具时计算机系统的功能配置示例的框图。
图8是图解说明当安装来自光驱的SSD控制工具时计算机系统的功能配置示例的框图。
图9是图解说明当安装来自USB存储器的SSD控制工具时计算机系统的功能配置示例的框图。
图10是图解说明计算机系统的外观配置的视图。
图11是图解说明主机的功能配置示例的框图。
图12是图解说明主机的分层式功能配置示例的框图。
图13是图解说明SSD的管理信息的视图。
图14是图解说明SSD的写入操作示例的流程图。
图15是图解说明SSD的与非存储器的垃圾收集的操作示例的流程图。
图16是图解说明SSD的读取操作示例的流程图。
图17是图解说明在SSD发生错误时操作示例的流程图。
图18是图解说明当在SSD中满足只读模式切换条件时操作示例的流程图。
图19是图解说明统计信息的原始数据与SSD的缺陷率之间的关系的图表。
图20是图解说明统计信息的原始数据与SSD的性能之间的关系的图表。
图21是图解说明在SSD启动时操作示例的流程图。
图22是图解说明在主机启动时操作示例的流程图。
图23是图解说明在主机操作期间操作示例的流程图。
图24是图解说明主机中的驱动器显示屏幕示例的视图。
图25是图解说明在主机启动时另一操作示例的流程图。
图26是图解说明统计信息X01至X19、X23、X24的管理表的一个示例的视图。
图27是图解说明在主机启动时另一操作示例的流程图。
图28是图解说明主机的另一配置示例的框图。
图29是图解说明当采用在图28中图解说明的主机时在主机启动时的操作示例的流程图。
图30是图解说明第二实施例的计算机系统的功能配置示例的框图。
图31是图解说明第三实施例的计算机系统的功能配置示例的框图。
图32是图解说明第四实施例的计算机系统的外观配置示例的视图。
图33是图解说明第四实施例的计算机系统的功能配置示例的框图。
具体实施方式
一般说来,根据一个实施例,一种信息处理装置包括主机装置和外部储存装置。外部储存装置包括:可读写非易失性存储器;接口控制器,其连接到主机装置;以及第一控制单元。接口控制器确定是否满足切换至致使非易失性存储器仅执行读取操作的只读模式的切换条件,当满足该切换条件时,第一控制单元使接口控制器从第一接口控制器转换至第二接口控制器。主机装置包括:接口驱动器,其用于操作外部储存装置;以及第二控制单元。第二控制单元基于从外部储存装置获得的信息而确定是否将非易失性存储器识别为仅可执行读取操作的只读存储器,当确定识别为只读存储器时,使接口驱动器从第一接口驱动器转换至第二接口驱动器。
当数据储存在诸如与非型快闪存储器的非易失性半导体储存元件中时,在一次性擦除数据之后,以块为单位执行写入,以页为单位执行读取/写入,或擦除/读取/写入单位是固定的。另一方面,主机设备(诸如个人计算机)将数据写入辅助储存装置(诸如硬盘)并从辅助储存装置读取该数据的的单位称为扇区。扇区设置为独立于半导体储存装置的擦除、写入及读取单位。例如,非易失性半导体存储器的擦除、写入及读取单位可大于主机装置的写入/读取单位。
当使用快闪存储器来配置个人计算机的辅助储存装置时,可产生由于多种错误原因而无法用作为储存区域的块(缺陷块、有损块)及无法被读取的区域(缺陷区域)。若缺陷块的数量或缺陷区域的数量超过上限值,则无法记录新的缺陷块或缺陷区域,且无法保证将储存在缓冲存储器(高速缓存存储器)中的数据及请求写入的数据都写入至快闪存储器。因此,当缺陷块的数量或缺陷区域的数量超过预定值时,可能会突然失去写入数据的能力,尽管快闪存储器中存在可用空间。
作为以上问题的解决方案,存在一种对与非型快闪存储器中产生的有损簇的数量和有损块的数量进行管理且当根据有损簇的数量及有损块的数量将数据从主机装置写入至与非型快闪存储器时转换操作模式的方法。簇是一种用作SSD中的逻辑地址的管理单位。簇的大小是扇区大小的两倍或两倍以上的自然数倍,并且通过来自LBA的预定位的高阶位序列配置簇地址。
在该方法中,SSD的操作模式分成以下三种模式。
WB模式(写回模式):将数据一次性写入至高速缓存存储器且基于预定条件而将该数据移除至与非型快闪存储器的正常操作。
WT模式(直写模式(WriteThroughMode)):每次利用一个写入请求将写入至高速缓存存储器的数据写入至与非型快闪存储器的操作模式。从主机写入的数据通过每次写入至与非型快闪存储器而尽可能地得以保证。当有损簇表或有损块表的剩余条目的数量小于或等于预定数量时,SSD转变为WT模式。
RO模式(只读模式):禁止涉及写入至与非型快闪存储器的所有过程的模式。当SSD接近其寿命尽头时,通过针对来自主机的所有写入请求返回错误以不执行写入而尽可能地保证已从主机写入的数据。当有损簇表或有损块表的剩余条目的数量小于或等于预定数量时或当空闲块不足时,SSD转变为RO模式。
在WB模式和WT模式中,SSD接受来自主机的读取请求和写入请求,并处理该读取请求和写入请求。在RO模式中,SSD接受来自主机的读取请求并处理该读取请求,但是不处理来自主机的写入请求且返回错误。
当SSD连接至安装有操作系统(OS)(诸如Windows(注册商标))的主机时,主机将写入请求传输至SSD,并且在正常处理写入请求时,主机将SSD识别为可用外部储存装置。
若当转变为RO模式的SSD连接至安装有Windows(注册商标)的主机时主机将写入请求传输至SSD,则SSD返回错误至主机,因此主机可能不将SSD识别为可用外部储存装置。因此,即使处于可读取的RO模式的SSD连接至主机,也可能不从SSD读取过去记录的数据。
在本实施例中,通常可由主机将切换至RO模式的SSD识别为仅可执行读取操作的装置。
下面参考附图将对信息处理装置、外部储存装置、主机装置、中继装置以及信息处理装置的控制方法的示例性实施例进行详细说明。本发明不限于以下实施例。
(第一实施例)
图1图解说明计算机系统的第一实施例的配置。计算机系统1由用作外部储存装置的SSD10、主机100及用作连接SSD10和主机100的存储器接口的ATA接口90配置而成。外部储存装置可以是除SSD10之外的其它可读写非易失性储存装置,诸如硬盘驱动器、混合硬盘驱动器、USB存储器或SD卡。主机100可以是个人计算机,可以是成像装置(诸如静态摄像机或视频摄相机),或可以是平板电脑、智能电话、游戏机、汽车导航系统等。
如在图1中图解说明的,SSD10包括:与非型快闪存储器(在下文中缩写为NAND存储器)20,其用作非易失性半导体存储器;接口控制器30,其用于与主机100通过ATA接口90而传输和接收信号;RAM(随机存取存储器)40,其用作易失性半导体存储器,包括用作接口控制器30和NAND存储器20的中间缓冲器的高速缓存存储器(CM)40a;存储控制器50,其负责管理并控制NAND存储器20和RAM40,并控制接口控制器30;IPL(初始程序加载器)55,其用作开机加载器,该开机加载器用于执行包括SSD10启动时的初始化在内的各类启动程序;ECC校正电路58,其用于对从NAND存储器20读出的数据执行错误校正过程;以及总线57,其用于连接所有构成元件。IPL55可布置于存储控制器50中。在本实施例中,ATA接口被配置为串行ATA(SATA)接口。可使用其它接口(诸如并行ATA(PATA)接口)取代SATA接口90。可使用其它接口(诸如USB(通用串行总线)接口、PCIExpress接口、Thunderbolt(注册商标)接口或串行附接SCSI(SAS)接口取代ATA接口90。
对于RAM40,可采用DRAM(动态随机存取存储器)、SRAM(静态随机存取存储器)、FeRAM(铁电随机存取存储器)、MRAM(磁阻随机存取存储器)、PRAM(相变随机存取存储器)等。RAM40可布置于存储控制器50中。
NAND存储器20将由主机100所指定的用户数据储存在其中,储存管理该用户数据的管理表,并储存在RAM40中管理的管理信息以便备份。NAND存储器20包括多个存储单元以矩阵形式排列的存储单元阵列,其中每个存储单元使用上部页和下部页可储存多个值。由多个存储芯片配置NAND存储器20,且通过排列以复数形式擦除的数据块或单元而配置每个存储芯片。在NAND存储器20中,数据的读写以页为单位执行。所述块包括多个页。
图2图解说明配置NAND存储器20的与非存储芯片的内部配置示例。NAND存储器20包括一个或多个与非存储芯片20080。与非存储芯片20080包括存储单元阵列,在存储单元阵列中,多个存储单元配置成矩阵形式。配置存储单元阵列的存储单元晶体管由具有形成在半导体衬底上的堆叠栅极结构的MOSFET(金属氧化物半导体场效应晶体管)配置而成。堆叠栅极结构包括:电荷积累层(浮动栅极电极),其形成在内插有栅极绝缘膜的半导体衬底上;控制栅极电极,其形成在内插有栅极绝缘膜的浮动栅极电极上。存储单元晶体管具有根据在浮动栅极电极中积累的电子数量而变化的阈值电压,并根据阈值电压之差而对数据进行储存。在本实施例中,已描述了个别存储单元是使用上部页和下部页的2位/单元的四值储存方法的写入方法的一种情况。但是即使在个别存储单元是使用单页的1位/单元的两值储存方法的写入方法或使用上部页、中间页和下部页的3位/单元的八值储存方法的写入方法的情况下,本发明的本质也未改变。存储单元晶体管不限于包括浮动栅极电极的结构,且可以是通过捕捉用作电荷积累层(诸如MONOS(金属氧化氮氧化硅))的氮化物接口处的电子而调整阈值电压的结构。MONOS型存储单元晶体管可类似地配置为储存1位或可配置为储存多个值。此外,对于非易失性储存介质,可采用如美国专利申请公开第20100172189号和美国专利申请公开第20100254191号中所描述的三维地排列存储单元的半导体储存介质。
如图2中图解说明的,与非存储芯片20080包括存储单元阵列20082,其中用于储存数据的存储单元配置为矩阵形式。存储单元阵列20082包括多个位线、多个字线及共同源线,其中可电重写数据的存储单元以矩阵形式排列在位线和字线交叉处。用于控制位线的位控制电路20083和用于控制字线电压的字线控制电路20085连接至存储单元阵列20082。换言之,位线控制电路20083通过位线读出存储单元阵列20082中的存储单元的数据,并通过位线将写入控制电压施加到存储单元阵列20082中的存储单元,以执行到存储单元的写入。
列解码器20084、数据输入/输出缓冲器20089和数据输入/输出终端20088连接至位线控制电路20083。从存储单元阵列20082读出的存储单元的数据通过位线控制电路20083和数据输入/输出缓冲器20089自数据输入/输出终端20088输出至外部。外部输入至数据输入/输出终端20088的写入数据通过数据输入/输出缓冲器20089由列解码器20084输入至位线控制电路20083,并写入到指定的存储单元中。
存储单元阵列20082、位线控制电路20083、列解码器20084、数据输入/输出缓冲器20089和字线控制电路20085连接至控制电路20086。控制电路20086根据输入至控制信号输入终端20087的控制信号产生控制信号和控制电压以控制存储单元阵列20082、位线控制电路20083、列解码器20084、数据输入/输出缓冲器20089和字线控制电路20085。除与非存储芯片20080的存储单元阵列20082之外的电路部分称为与非控制器(NANDC)20081。
图3图解说明在图2中图解说明的存储单元阵列20082的配置。存储单元阵列20082是一种与非存储单元型存储单元阵列,并配置为包括多个与非单元。与非单元由包括串联连接的存储单元的存储串MS和连接至存储串MS两端的选择栅极S1和S2配置而成。选择栅极S1连接至位线BL,选择栅极S2连接至源线SRC。配置在相同行中的存储单元MC的控制栅极通常连接至字线WL0至WLm-1。第一选择栅极S1通常连接至选择线SGD,而第二选择栅极S2通常连接至选择线SGS。
存储单元阵列20082包括一个或多个平面,该平面包括多个块。各个块由多个与非单元配置而成,并且以块为单位擦除数据。
连接至一条字线的多个存储单元构成了一个物理扇区。对各个物理扇区进行数据的写入和读出(物理扇区与下文描述的LBA的逻辑扇区不相关)。在2位/单元写入方法(四值)的情况下,两页数据储存在一个物理扇区中,在1位/单元写入方法(两值)的情况下,一页数据储存在一个物理扇区中,在3位/单元写入方法(八值)的情况下,三页数据储存在一个物理扇区中。
在读取操作、程序验证操作和编程操作时,根据从存储控制器50接收的物理地址选择一条字线和一个物理扇区。通过物理地址切换物理扇区中的页。在本实施例中,NAND存储器20为2位/单元写入方法,存储控制器50进行处理,假定将两页(上部页和下部页)作为物理页分配给物理扇区,其中为所有页分配物理地址。
2位/单元的四值NAND存储器配置为使一个存储单元中的阈值电压具有四种分布方式。图4图解说明储存在四值与非存储单元快闪存储器的存储单元中的两位的四值数据(数据“11”、“01”、“10”、“00”)和存储单元的阈值电压分布之间的关系。在图4中,VA1是当读出关于物理扇区(其中仅下部页已写入但上部页未写入)的两个数据时施加至选定字线的电压,VA1V指示当执行对A1的写入时施加以便验证写入是否完成的验证电压。
VA2、VB2、VC2是当读出关于物理扇区(其中仅下部页和上部页均已写入)的四个数据时施加在选定字线上的电压,VA2V、VB2V、VC2V指示当对各阈值电压分布执行写入时施加以便验证写入是否完成的验证电压。Vread1、Vread2指示当执行数据读出时施加至与非存储单元中的未选存储单元以便在不考虑保存的数据的情况下传导相关未选存储单元的读取电压。此外,Vev1、Vev2指示当擦除存储单元的数据时施加至存储单元以便验证擦除是否完成的擦除验证电压,且具有一个负值。鉴于相邻存储单元的干扰影响确定量值。各电压的量值关系如下:
Vev1<VA1<VA1V<Vread1
Vev2<VA2<VA2V<VB2<VB2V<VC2<VC2V<Vread2
如上所述,擦除验证电压Vev1、Vev2、Vev3为负值,但是在擦除验证操作中实际上施加至存储单元MC的控制栅的电压不为负值,而是零值或正值。即,在实际擦除验证操作中,正电压施加在存储单元MC的背栅上,具有零值或小于背栅电压的正值的电压施加在存储单元MC的控制栅上。换言之,擦除验证电压Vev1、Vev2、Vev3是等效具有负值的电压。
在块擦除之后存储单元的阈值电压分布ER具有负值上限值,且分配有数据“11”。处于下部页和上部页均已写入的状态下的数据“01”、“10”和“00”的存储单元各具有正阈值电压分布A2、B2、C2(A2、B2、C2的下限值也为正值),其中,在数据“01”的阈值电压分布A2具有最低电压值时,数据“00”的阈值电压分布C2具有最高电压值,多类阈值电压分布的电压值具有如下关系:A2<B2<C2。处于下部页已写入但上部页未写入的状态下的数据“10”的存储单元具有正阈值电压分布A1(A1的下限值也为正值)。在图4中图解说明的阈值电压分布仅为一个示例,本发明不限于此。例如,阈值电压分布A2、B2、C2在图4中皆说明为正阈值电压分布,但是阈值电压分布A2为负电压分布且阈值电压分布B2和C2为正电压分布的情况也包括在本发明的范围内。即使阈值电压分布ER1和ER2为正值,本发明也不限于此。在本实施例中,ER2、A2、B2和C2的数据的对应关系描述为“11”、“01”、“10”和“00”,但是可以是其它的对应关系,诸如“11”、“01”、“00”和“10”。
一个存储单元的2位数据包括下部页数据和上部页数据,其中下部页数据和上部页数据通过不同的写入操作(即,两个写入操作)写入至存储单元中。应注意,如“*”的数据,*表示上部页数据,表示下部页数据。
首先,将参考图4的第一阶段至第二阶段对下部页数据的写入进行描述。假定所有存储单元具有处于擦除状态的阈值电压分布ER,并对数据“11”进行储存。如在图14中图解说明的,当执行下部页数据的写入时,存储单元的阈值电压分布ER根据下部页数据的值(“1”或“0”)分成两个阈值电压分布(ER1、A1)。若下部页数据的值为“1”,则维持擦除状态的阈值电压分布ER,因此ER1=ER,但也可以是ER1>ER。
若下部页数据的值为“0”,则高电场施加至存储单元的隧道氧化物膜,电子注入至浮动栅极电极,存储单元的阈值电压Vth上升预定量。具体而言,设置验证电位VAIV,重复写入操作直到达到大于或等于验证电压VAIV的阈值电压为止。因此,存储单元变为写入状态(数据“10”)。若即使重复写入操作预定次数仍未达到阈值电压(或若未达到阈值电压的存储单元的数量大于或等于预定值),则关于物理页的写入状态变为“写入错误”。
下面将参考图4的第二阶段至第三阶段对上部页数据的写入进行描述。基于从芯片外部输入的写入数据(上部页数据)执行上部页数据的写入,下部页数据已写入存储单元中。
换言之,如在图4的第二阶段至第三阶段中图解说明。若上部页数据的值为“1”,则防止高电场施加至存储单元的隧道氧化膜,因此防止存储单元的阈值电压Vth的上升。因此,数据“11”(擦除状态的阈值电压分布ER1)的存储单元将数据“11”保持为(ER2),数据“10”(阈值电压分布A1)的存储单元将数据“10”保持为(B2)。然而,从确保各个分布间的电压裕度的观点来说,期望使用大于验证电压VAIV的正验证电压VB2V来调节阈值电压分布的下限值,从而形成阈值电压分布宽度变窄的阈值电压分布B2。若即使重复下限值调节达预定次数仍未达到阈值电压(或未达到阈值电压的存储单元的数量大于或等于预定值),则有关物理页的写入状态变为“写入错误”。
若上部页数据的值为“0”,则高电场施加至存储单元的隧道氧化物膜,电子注入至浮动栅极电极,存储单元的阈值电压Vth上升预定量。具体而言,设置验证电位VA2V和VC2V,重复写入操作直到达到大于或等于验证电压VAIV的阈值电压。因此,数据“11”(擦除状态的阈值电压分布ER1)的存储单元变为阈值电压分布A2的数据“01”,数据“10”(A1)的存储单元变为阈值电压分布C2的数据“00”。在此情况下,使用验证电压VA2V和VC2V来调节阈值电压分布A2和C2的下限值。若即使重复写操作达预定次数仍未达到阈值电压(或未达到阈值电压的存储单元的数量大于或等于预定值),则有关物理页的写入变为“写入错误”。
在擦除操作中,设置擦除验证电位Vev,重复擦除操作直到阈值电压小于或等于验证电压Vev。因此,存储单元变为擦除状态(数据“11”)。若即使重复擦除操作预定次数仍未达到阈值电压(或未达到阈值电压的存储单元的数量大于或等于预定值),则有关物理页的擦除状态变为“擦除错误”。
如上对典型四值储存方法中的数据写入方法的一个示例进行了描述。三位或三位以上的多位储存方法中的基本操作类似,针对上述操作仅添加了根据上部页数据以八种或八种以上的方式划分阈值电压分布的操作。
RAM40包括用作主机100和NAND存储器20之间的数据传送高速缓存的高速缓存存储器(CM)40a。RAM40用作管理信息储存存储器和工作区域存储器。由RAM40管理的管理表通过在启动时提取储存在NAND存储器20中的各类管理表而实现,并周期性地或在断电时撤出并保存在NAND存储器20中。
存储控制器50具有由执行NAND存储器20中储存的系统程序(固件)的处理器、各类硬件电路等实现的其功能,并且在主机100和NAND存储器20之间执行关于各类命令(诸如来自主机100的写入请求、快取快闪请求、读取请求)的数据传送控制,以及对储存在RAM40和NAND存储器20中的各类管理表进行更新和管理。
当发布读取请求或写入请求时,主机100通过ATA接口90将用作逻辑地址的LBA(逻辑块寻址)输出至SSD10。LBA是从零开始的序号附接至逻辑扇区(大小例如为512B)的逻辑地址。当使用读取请求或写入请求时,主机100将对应于读取请求或写入请求的目标的扇区大小连同LBA输出至SSD10。
接口控制器30包括:读取/写入模式接口控制器(后文中缩写为RWIF控制器)31,诸如在启用读取/写入的正常操作模式中使用的ATA控制器;只读模式接口控制器(后文缩写为ROIF控制器)32,诸如ATAPI(ATA分组接口)控制器或在仅允许数据读取和数据写入的只读模式中使用的只读介质标准的控制器;以及选择开关33和34,其能够选择RWIF控制器31或ROIF控制器32其中之一。
选择开关33仅选择RWIF控制器31或ROIF控制器32其中之一并将所选的控制器连接至ATA接口90,并且选择开关34仅选择RWIF控制器31或ROIF控制器32其中之一并将所选的控制器连接至总线57。在RWIF控制器31的选择状态下,选择开关33使ATA接口90和RWIF控制器31处于电连接状态,并且开关34使总线57和RWIF控制器31处于电连接状态。在ROIF控制器32的选择状态下,选择开关33使ATA接口90和ROIF控制器32处于电连接状态,开关34使总线57和ROIF控制器32处于电连接状态。
期望RWIF控制器31被配置为对主机100明确指示SSD10为ATA装置。例如,在ATA/ATAPI命令集2(ACS-2)中描述的装置签名中,LBA(7:0)输出为01h,LBA(15:8)为00h,LBA(23:16)作为00h输出至主机100,使得可对主机100通知SSD10为ATA装置。期望ROIF控制器32配置为对主机100明确指示SSD10为ATAPI装置。例如,在ACS-2中描述的装置签名中,LBA(7:0)输出为01h,LBA(15:8)为14h,LBA(23:16)作为EBh输出至主机100,使得可对主机100通知SSD10为ATAPI装置。
ROIF控制器32配置为对主机100通知SSD10不支持写入命令,仅进行读取。例如,当通过ATA接口90从主机100接收在INCITS多媒体命令6(MMC-6)中采用的命令GETCONFIGURATION(获得配置)(46h)时,ROIF控制器32对主机100返回在诸如RandomWritable(随机可写)(特征值=0020h)、IncrementalStreamingWritable(增量流可写)(特征值=0021h)、WriteOnce(一次写入)(特征值=0025h)等的特征中不支持所有写入功能。因此,即使主机100侧对于OS使用Windows(注册商标)等,SSD10仍可被识别为可读取装置。另一方面,ROIF控制器32可配置为对主机100明确指示SSD10为ATA装置(类似于RWIF控制器31),且当通过ATA接口90从主机100接收装置标识信息(诸如在ACS-2中描述的命令EChIDENTIFYDEVICE(读装置标识))时可配置为对主机100返回不支持所有写入功能。通知SSD10是否为只读装置的方法可采用各种其它形式。
接口控制器30的功能和其中包括的各种控制器皆可安装为硬件(诸如LSI),或可部分或全部安装为诸如固件的软件。当关闭SSD的电源时,固件保存在NAND存储器20中,但在安装为固件的SSD的电源启动时由IPL55读出至RAM40或存储控制器50。
RWIF控制器31具有以下功能:从主机100接收读取请求、写入请求和其它请求以及数据,将接收到的请求和数据传输至存储控制器50,并通过存储控制器50的控制将数据传输至RAM40。当从主机100接收装置标识信息的传输请求时,RWIF控制器31还将装置为可读写装置的标识信息传输至主机100。
ROIF控制器32具有以下功能:从主机100接收读取请求,其它请求(写入请求除外)和数据,将接收到的请求和数据传输至存储控制器50,并通过存储控制器50的控制将数据传输至RAM40。当从主机100接收装置标识信息的传输请求时,ROIF控制器32还将装置不支持写入的装置标识信息传输至主机100。因此,主机100识别SSD10不支持写入,并因此写入请求将不会从主机100传输至SSD10。当在将装置不支持写入的装置标识信息传输至主机100之后将写入请求从主机100传输至SSD10时,ROIF控制器32可向主机100返回错误。关于不涉及NAND存储器20的写入操作的命令,ROIF控制器32执行类似于RWIF控制器31的过程。
当接通SSD10的电力时,IPL55被启动并执行NAND存储器20、RAM40、存储控制器50和接口控制器30的初始化处理程序。在这种情况下,IPL55从NAND存储器20或RAM40读取NAND存储器20的管理信息。IPL55基于读取的管理信息来确定是否满足只读模式切换条件,即,SSD10是否处于将在正常操作模式中使用的状态或处于将在只读模式中使用的状态。如果确定为正常模式,则作为确定的结果,IPL55设定选择开关33、34以选择RWIF控制器31并使ROIF控制器32处于未选定状态。如果基于读取的管理信息确定SSD10处于在只读模式中使用的状态,则IPL55设定选择开关33、34以选择ROIF控制器32并使RWIF控制器31处于未选定状态。下面将详细描述只读模式切换条件。
甚至当SSD10在正常可读/写状态下操作时,仍希望存储控制器50确定是否满足切换至只读模式状态的只读模式切换条件,并当SSD10在正常状态下操作时满足只读模式切换条件时,执行下面将描述的只读模式切换条件过程。接口控制器30因此根据只读模式切换过程切换到ROIF控制器32。
现将描述主机100的配置。主机100包括操作系统(OS)150、SSD控制工具110和SSD10的接口驱动器120。接口驱动器120包括:读取/写入模式接口驱动器(后文缩写为RWIF驱动器)121,比如当SSD10处于启动读取/写入的正常操作模式时使用的ATA驱动器;只读模式接口驱动器(后文缩写为ROIF驱动器)122,比如当SSD10处于只读模式时使用的ATAPI驱动器的只读驱动器;和选择开关123、124,其用于通过RWIF驱动器121及ROIF驱动器122选择将应用于SSD10的驱动器。SSD控制工具110可从RWIF驱动器121或ROIF驱动器122其中之一选择将应用于SSD10的驱动器或可通过选择开关123、124来使该两个驱动器处于未选定状态。软件140是除SSD控制工具110之外的软件,并是使用SSD10的软件。
如在图5中的图解说明,当断开主机100的电源时,SSD控制工具100储存为SSD10的NAND存储器20区域中的SSD控制工具110A,但是在主机100启动或程序启动时从NAND存储器20加载到主存储器201。如在图6中的图解说明,如果多个外部储存装置连接到主机100,则SSD控制工具100可储存在不同于SSD10的外部储存装置300的区域中作为SSD控制工具100B,并在主机100启动或程序启动时从外部储存装置300加载到主存储器202。特别是,如果外部储存装置300作为用于储存OS150的系统驱动器,且SSD10作为用于储存用户数据(比如文件)、静态图像数据和移动图像数据的数据驱动器,则从清楚分开驱动器10与驱动器300的角色的立场来看(比如将用作系统驱动器的外部储存装置300用作为主要储存OS的驱动器和应用程序的驱动器并将用作数据驱动器的SSD10用作为用于储存用户数据的驱动器),期望将SSD控制工具110储存在用作系统驱动器的外部储存装置300中。
如在图5和图6中的图解说明,从让用户在执行SSD控制工具110的设置中省力的立场,期望计算机系统1装运有储存在SSD10或外部储存装置300中的SSD控制工具110,且放置在架子(shelves)上并提供给用户。从让用户能选择是否安装SSD控制工具的立场和从提供最新SSD控制工具给用户的立场,期望SSD控制工具通过从网页(WEB)下载或从外部储存装置(比如DVD-ROM、USB存储器等)安装而储存在SSD10或外部储存装置300中。
图7图解说明从网页下载SSD控制工具的情况的实例。在图7中,SSD控制工具110C储存在网页服务器中的储存介质400中,且SSD控制工具110C通过LAN控制器208等经由网络(比如因特网、局域网和无线LAN)而下载至SSD10或外部储存装置300。
图8图解说明从光学介质(比如DVD-ROM或CD-ROM)安装SSD控制工具的情况的实例。SSD控制工具110D储存在光学介质500(比如DVD-ROM或CD-ROM)中,且在光驱动器206中设置光学介质500,以便SSD控制工具110D通过光驱动器206安装在SSD10或外部储存装置300中。
图9图解说明从USB存储器安装SSD控制工具的情况的实例。SSD控制工具110E储存在USB存储器600中,其中SSD控制工具110E通过将USB存储器600连接至USB控制器209通过USB控制器209而安装在SSD10或外部储存装置300中。当然,可使用其他外部存储器(比如SD卡),而不是使用USB存储器600。从促进用户可用性的立场,期望在装运SSD10时光学介质500和USB存储器600封装SSD10作为附件。光学介质500或USB存储器600可作为软件产品单独出售或可附接作为杂志和书的补充。
选择开关124只选择RWIF驱动器121或ROIF驱动器122其中之一并将所选择的驱动器连接至ATA接口90,且选择开关123只选择RWIF驱动器121或ROIF驱动器122其中之一并将所选择的驱动器连接至软件140。在RWIF驱动器程序121的选择状态下,选择开关124使ATA接口90和RWIF驱动器121处于连接状态,且开关123使软件140和RWIF驱动器121处于连接状态。在ROIF驱动器122的选择状态下,选择开关124使ATA接口90和ROIF驱动器122处于连接状态,且开关124使软件140和ROIF驱动器122处于连接状态。
图10图解说明计算机系统1的外观配置。图10图解说明通用台式个人计算机的配置。SSD10实际上通过用作ATA接口90的SATA电缆而物理连接至主机板130,并通过安装在主机板130上的南桥而电连接至附接在主机板130上的CPU(未图解说明)。SSD10通过电源电缆131连接至电源电路132。显示器133、键盘134、鼠标135等连接到主机板130。计算机系统不限于台式计算机类型,且适用于笔记本个人计算机类的膝上型计算机。
图11图解说明安装有SSD10的主机100的系统配置示例。主机100包括CPU200、北桥201、主存储器202(比如DRAM)、显示控制器203、显示器133、南桥205、光学驱动器205、BIOS-ROM207、LAN控制器208、USB控制器209、键盘134、鼠标135等。
CPU200是配置以控制计算机系统的操作的处理器,并执行从SSD10加载至主存储器200的操作系统(OS)。此外,当光学驱动器206开启关于加载光盘的读取进程和写入进程中的至少一个进程的执行时,CPU200执行此类进程。
CPU200也执行储存在BIOS-ROM207中的系统BIOS(基本输入输出系统)。系统BIOS是用于计算机系统中的硬件控制的程序。
北桥201是连接至CPU200的局部总线的桥接器装置。北桥201并入存储控制器以访问控制主存储器202。北桥201也具有执行与显示控制器203的通信等功能。
主存储器202暂时储存程序和数据,并作为CPU200的工作区域。由DRAM等配置主存储器202。
视频控制器203是用于控制计算机系统的显示器133的视频重现控制器。
南桥205是连接至CPU200的局部总线的桥接器装置。南桥205通过ATA接口90控制SSD10或用于储存各种类型的软件和数据的储存装置。
在计算机系统中,以逻辑扇区为单位对SSD10进行存取。写入命令(写入请求)、读取命令(读取请求)和快闪命令等通过ATA接口90输入至SSD10.
南桥205也具有访问控制BIOS-ROM207,光学驱动器206,LAN控制器208和USB控制器209的功能。键盘134和鼠标135连接至USB控制器209。
在图11中,当断开计算机系统的电源时,OS150、SSD控制工具110、包括RWIF驱动器121和ROIF驱动器122等的接口驱动器120以及软件140保存在SSD10中,且当接通主机的电源时或调用(callout)此类功能时从SSD10加载至主存储器202。加载在主存储器202上的接口驱动器120通过北桥201读取至CPU200,且CPU200基于读取接口驱动器的信息通过南桥205来执行SSD10的控制。
图12图解说明各种类型的计算机系统元件的分层式结构。SSD控制工具110及软件140通常不直接与SSD10通信,而是通过OS150和接口驱动器120来与SSD10通信。如果需要SSD控制工具110及软件140将命令(比如读取请求及写入请求)传输至SSD10,则SSD控制工具110及软件140将以文件为单位的存取请求传输至OS150。OS150参考包括在OS150中的文件管理表或元数据,指定对应于进行存取请求的文件的SSD10的逻辑地址(LBA),并将包括相应LBA的命令传输至接口驱动器120。接口驱动器120将来自OS150的命令转换成对相关接口的唯一的命令,并将该命令传输至SSD。
如果从SSD10返回响应,则接口驱动器120将对相关接口唯一的响应转换成OS150的命令,并将该命令传输至OS150。OS150指定转换之后的响应对应哪个软件上的哪个响应,并将该响应返回至指定的软件。
SSD控制工具110可在不内插OS150的情况下直接存取接口驱动器120。SSD控制工具110可通过直接存取接口驱动器120来排他性地选择接口驱动器的RWIF驱动器121或ROIF驱动器122中哪一个有效。如果RWIF驱动器121有效,则RWIF驱动器121中继OS150和SSD10,且ROIF驱动器122不执行任何事项。如果ROIF驱动器122有效,则ROIF驱动器122中继OS150和SSD10,且RWIF驱动器121不执行任何事项。SSD控制工具110可通过OS150交替地选择RWIF驱动器121和ROIF驱动器122。
在主机启动或SSD连接时,SSD控制工具110从SSD10获取SSD的装置标识信息。基于装置标识信息而确定SSD10是可读写装置还是不支持写入的装置,并基于确定结果而执行接口驱动器120的转换设置。如果确定SSD10是可读写装置,则使RWIF驱动器121有效,并且如果确定SSD10是不支持写入的装置,则使ROIF驱动器122有效。如果来自SSD10的有关写入请求的响应是错误的,则SSD控制工具110确定SSD10转换至只读模式,并重新启动SSD10且使接口驱动器120从RWIF驱动器121转换至ROIF驱动器122。
从防止由于SSD10的数据破坏或损坏而使用户数据损失的立场来看,期望ROIF驱动器122配置成根本不传输关于SSD10的写入命令。然而,如果需要将一部分数据(比如操作系统的系统信息)写入SSD10中,则ROIF驱动器122可例外地允许将相关数据写入至SSD10中,但是和NAND存储器20的容量相比,期望相关数据的数据量足够小。更期望地,为了防止用户错误地传输写入命令且将数据写入至SSD10,ROIF驱动器122根本不传输关于SSD10的正常写入命令(比如在ACS-2中描述的35h的WRITEDMAEXT和61h的WRITEFPDMAQUEUED),并且如果例外地需要将数据写入至SSD10,则期望仅有使用以特殊命令(比如在INCITSACS-2中描述的SCTCommandTransport和对厂商唯一的其他命令)的命令允许关于SSD10的写入。如果甚至在应用ROIF驱动器122时(RO模式时)也可以例外地执行使用特殊命令的写入,则即使SSD10处于RO模式,存储控制器50和ROIF控制器32仍需要配置成从主机100接收特殊命令并正常地执行数据写入过程。
图13图解说明在SSD10中使用的管理信息的配置。管理信息以非易失性方式储存在与非储存器20中,如上文描述。在SSD10启动时在RAM40中提取储存在NAND存储器20中的管理信息以供使用。RAM40上的管理信息周期性地或在断电时撤出且保存在NAND存储器20中。如果RAM40是非易失性RAM(比如MRAM或FeRAM),则管理信息可只储存在RAM40中,在这种情况下管理信息不储存在NAND存储器20中。
如在图13中图解说明的,管理信息包括空闲块表21、有损块表22、活动块表23、活动页表24、只读(RO)模式标记25和统计信息26。
·空闲块表(FB表)21管理NAND存储器20的物理块(空闲块:FB)的ID,当执行至NAND存储器20的写入时可重新分配用于写入的该ID。FB表也管理对每个物理块ID的擦除次数。
·有损块表(BB表)22管理用作物理块的有损块(BB)的ID,该有损块由于过多错误等原因而无法用作储存区域。
·活动块表(AB表)23管理分配有应用的活动块(AB)或物理块。在AB表23中,管理LBA与活动块(AB)的ID的对应关系。也对每个物理块ID管理擦除次数。
·活动页表(AP表)24管理LBA与分配有应用的物理块ID及物理页ID的对应关系。
·在装运时和在正常时间,以0写入RO模式标记25,且当SSD操作为RO模式时,以1写入RO模式标记25。
·统计信息26储存关于SSD10的可靠度的各种参数(X01至X24)。
统计信息包括有损块的总数量(统计信息X01)、总擦除次数(统计信息X02)、擦除次数的平均值(统计信息X03)、NAND存储器的写入错误发生的次数的累积值(统计信息X04)、NAND存储器的擦除错误发生的次数的累积值(统计信息X05)、读出逻辑扇区的总数量(统计信息X06)、写入逻辑扇区的总数量(统计信息X07)、不可校正ECC错误计数的总数量(统计信息X08)、n位元至m位元ECC校正单元的总数量(统计信息X09)、SATA通信的R错误发生的次数(统计信息X10)、SATA通信的错误发生的次数(统计信息X11)、RAM40的错误发生的次数(统计信息X12)、SSD10的总使用次数(统计信息X13)、温度高于推荐操作温度的最高值的总时间(统计信息X14)、温度低于推荐操作温度的最低值的总时间(统计信息X15)、命令响应时间的最大值(统计信息X16)、命令响应时间的平均值(统计信息X17)、NAND存储器的响应时间的最大值(统计信息X18)、NAND存储器的响应时间的平均值(统计信息X19)、当前温度(统计信息X20)、最高温度(统计信息X21)、最低温度(统计信息X22)、统计信息的增加速率(统计信息X23)、NAND存储器垃圾收集(NANDGC)失败标记(统计信息X24)等。
下面将描述有损块的总数量(统计信息X01)。每当SSD10中的NAND存储器20的一个物理块添加为有损块时,统计信息X01增加1。期望在制造SSD10时(在测试过程之前)将统计信息X01重设至零,其中更期望在测试过程中发生错误或阈值分布的分布间电压裕度小的块预先添加至有损块。统计信息X01可从BB表22直接计算出而不储存在统计信息26中。统计信息X01增加得越多,表明可靠度劣化得越多。
下面将描述总擦除次数(统计信息X02)。统计信息X02指示SSD10中的NAND存储器20的所有块的擦除次数的累积值。每当擦除SSD10的NAND存储器20的一个物理块时,统计信息X02增加1。期望在制造SSD10时(在测试过程之前)将统计信息X02重设至零。统计信息X02可从FB表21、BB表22和AB表23直接计算而不储存在SSD统计信息26中。统计信息X02增加得越多,表明可靠度劣化得越多。
下面将描述擦除次数的平均值(统计信息X03)。统计信息X03指示SSD10中的NAND存储器20的所有块的擦除次数的每块平均值。一部分块(比如储存管理信息的块)可排除在对统计信息X03进行计数的目标外。期望在制造SSD10时(在测试过程之前)将统计信息X03重设至零。统计信息X03可从FB表21、BB表22和AB表23直接计算而不储存在统计信息26中。统计信息X03增加得越多,表明可靠度劣化得越多。
下文将描述NAND存储器的写入错误发生的次数的累积值(统计信息X04)。每当在SSD10的NAND存储器20中的一个写入存储器单元中发生写入错误时,统计信息X04加1(可以块单位相加)。期望在制造SSD10时(在测试过程之前)将统计信息X04重设至零。统计信息X04增加得越多,表明可靠度劣化得越多。
下面将描述NAND存储器的擦除错误发生的次数的累积值(统计信息X05)。期望在制造SSD10时(在测试过程之前)将统计信息X05重设至零。每当在SSD10的NAND存储器20中的一个块中发生擦除错误时,统计信息X05加1。假设采用多个块的全体为擦除单位,每当在这样的擦除单位中发生擦出错误时,统计信息X05加1。统计信息X05增加得越多,表明可靠度劣化得越多。
现将描述读取逻辑扇区的总数量(统计信息X06)。统计信息X06是由接口控制器30传输至主机装置100作为读取数据的数据的逻辑扇区的总数量。期望在制造SSD10时(在测试过程之前)将统计信息X06重设至零。统计信息X06增加得越多,表明可靠度劣化得越多。
现将描述写入逻辑扇区的总数量(统计信息X07)。统计信息X07是由RWIF控制器31从主机装置100接收的作为写入数据的数据的逻辑扇区的总数量。期望在制造SSD10时(在测试过程之前)将统计信息X07重设至零。统计信息X07增加得越多,表明可靠度劣化得越多。
现将描述不可校正ECC错误计数的总数量(统计信息X08)。当无法通过由ECC校正电路58执行的ECC校正来恢复错误位时,统计信息X08对于每一个读出单元增加1。当存储控制器50从NAND存储器20读出数据时,存储控制器50将读取的数据传输至ECC校正电路58,且如果存在数据错误则执行ECC校正并通过接口控制器30将校正的数据传输至主机。如果并不是由ECC校正电路58校正数据错误,则存储控制器对统计信息X08累加或对统计信息X08增加无法校正的数据错误量。可使无法错误校正的错误位数的评估值相加,或可使无法错误校正的块数相加。期望在制造SSD10时(在测试过程之前)将统计信息X08重设至零。统计信息X08增加得越多,表明可靠度劣化得越多。
下面将描述n位至m位ECC校正单元的总数量(统计信息X09)。在此,n、m是自然数,其中0≤n≤m≤最大可校正位数。当ECC校正电路58在ECC校正单元(例如,物理页)上执行ECC校正时,如果正常恢复所有错误位且错误位的已恢复数量大于或等于n且小于或等于m,则对于一个ECC校正单元而言“n位至m位ECC校正单元的总数量”加1。在可通过ECC校正对一个校正单元校正最大为64位的情况下,可准备八个参数,例如“1位至8位ECC校正单元的总数量”、“9位至16位ECC校正单元的总数量”、“17位至24位ECC校正单元的总数量”、“25位至32位ECC校正单元的总数量”、“33位至40位ECC校正单元的总数量”、“41位至48位ECC校正单元的总数量”、“49位至56位ECC校正单元的总数量”、“57位至64位ECC校正单元的总数量”,其中正常执行ECC校正时,对于一个ECC校正单元的ECC校正,八个参数的其中一个增加1(或可增加数据错误的校正量)。期望在制造SSD10时(在测试过程之前)将统计信息X09重设至零。统计信息X09增加得越多,表明可靠度劣化得越多。
下面将描述SATA通信的R错误发生的次数(统计信息X10)。每当在SATA标准中R错误(接收错误R-ERR)发生一次时,统计信息X10增加1。如果在主机与SSD之间传输及接收的数据帧中存在诸如CRC错误的某种错误,则将其计数为一次R错误。对于统计信息X10,可采用SATA标准的物理事件计数器(PhyEventCounter)中的一个计数器。期望在制造SSD10时(在测试过程之前)将统计信息X10重设至零。统计信息X10增加得越多,表明可靠度劣化得越多。
下面将描述SATA通信的错误发生次数(统计信息X11)。每当在SATA通信中发生其他异常(而非R错误)一次时,统计信息X11增加1。例如,如果在SSD10与主机装置100之间实际上协商的通信标准是速度低于第三代的通信标准(比如第二代)(尽管ATA接口90、接口控制器30及存储控制器50设计成SATA第三代),则假定在SATA通信中有错误且统计信息X11增加1。期望在制造SSD10时(在测试过程之前)将统计信息X11重设至零。统计信息X11增加得越多,表明可靠度劣化得越多。
下面将描述RAM40的错误发生次数(统计信息X12)。例如,如果ECC电路或错误检测电路安装在RAM40上,则当存储控制器50从RAM40接收通知无法进行ECC校正的信号或通知错误检测的信号时,统计信息X12增加1。期望在制造SSD10时(在测试过程之前)将统计信息X12重设至零。统计信息X12增加得越多,表明可靠度劣化得越多。
下面将描述SSD10的总使用次数(统计信息X13)。当接通SSD10的电源时,存储控制器50对时钟进行计数或从内部时钟电路接收时间信息以增加经过时间。替代地,存储控制器50可从主机装置100周期性地接收主机装置100的时间信息,且可增加时间信息之差。期望在制造SSD10时(在测试过程之前)将统计信息X13重设至零。统计信息X13增加得越多,表明可靠度劣化得越多。
下面将描述温度高于推荐操作温度的最高值的总时间(统计信息X14)。如果温度计安装在SSD10中(比如在SSD10的衬底上,在存储控制器50以及NAND存储器20中),则存储控制器50从温度计周期性地接收温度信息。如果接收到的温度高于推荐操作温度(例如,100℃),则存储控制器50基于从时钟、内部时钟或主机装置100获取的时间信息而增加在高于或等于推荐操作温度下操作的总时间。期望在制造SSD10时(在测试过程之前)将统计信息X14重设至零。统计信息X14增加得越多,表明可靠度劣化得越多。
下面将描述温度低于推荐操作温度的最低值的总时间(统计信息X15)。如果温度计安装在SSD10中,则存储控制器50从温度计周期性地接收温度信息。如果接收到的温度低于推荐操作温度(例如,-40℃),则存储控制器50基于从时钟、内部时钟或主机装置100获取的时间信息而增加在高于或等于推荐操作温度下操作的总时间。期望在制造SSD10时(在测试过程之前)将统计信息X15重设至零。统计信息X15增加得越多,表明可靠度劣化得越多。
下面将描述命令响应时间的最大值(统计信息X16)。统计信息X16是从主机装置100接收命令时直至响应于主机装置100为止(或直至命令执行完成为止)所需时间(或时钟数)的最大值。如果出现响应时间大于X16,则通过这样的响应时间覆写X16。关于每个命令,可保存统计信息X16.期望在制造SSD10时(在测试过程之前)或在SSD10装运时将统计信息X16重设至零。统计信息X16增加得越多,表明可靠度劣化得越多。
例如,命令响应时间可以是:
·SSD10的读出响应时间:自SSD10从主机100接收读出请求时开始直至完成将读取的数据传输至主机100为止的时间。
·SSD10的写入响应时间:自SSD10从主机100接收写入请求时开始直至将写入完成通知返回至主机100为止的时间。或者,自SSD10从主机100接收写入请求时开始直至完成由主机100接收写入数据为止的时间。
可通过对存储控制器50的内部时钟进行计数来对响应时间进行计时。
下面将描述命令响应时间的平均值(统计信息X17)。统计信息X17是从主机100接收命令时直至响应于主机装置100为止(或直至命令执行完成为止)所需的时间(或时钟数)的平均值。恒定数量个响应时间列表可寄存在RAM40中,且可以通过计算响应时间列表的平均值来获得统计信息X17。可保存关于各命令的统计信息X17。期望在制造SSD10时(在测试过程之前)或在SSD10装运时将统计信息X17重设至零。统计信息X17增加得越多,表明可靠度劣化得越多。
下面将描述NAND存储器的响应时间的最大值(统计信息X18)。统计信息X18是在将命令发出到NAND存储器20之后直至存储控制器50获得响应(或接收命令执行完成通知)为止所需的时间(或时钟数)的最大值。如果出现响应时间大于X18,则通过这样的响应时间覆写X18。可保存关于各命令的统计信息X18。期望在制造SSD10时(在测试过程之前)或在SSD10装运时将统计信息X18重设至零。统计信息X18增加得越多,表明可靠度劣化得越多。例如,NAND存储器的响应时间可以是:
·NAND存储器20的读出响应时间:从存储控制器50将读取请求发出到NAND存储器20时直至完成NAND存储器20读出数据为止的时间。
·NAND存储器20的写入响应时间:从存储控制器50将写入请求发出到NAND存储器20时直至完成将数据写入到NAND存储器20为止的时间。
·NAND存储器20的擦除响应时间:从存储控制器50将擦除命令发出到NAND存储器20时直至完成NAND存储器20的擦除为止的时间。
可通过对存储控制器50的内部时钟进行计数来对响应时间进行计时。
将描述NAND存储器的响应时间的平均值(统计信息X19)。统计信息X19是在将命令发出到NAND存储器20之后直至存储控制器50获得响应(或接收命令执行完成通知)为止所需的时间(时钟数)的平均值。恒定数量个响应时间列表可保存在RAM40中,且可通过计算响应时间列表的平均值来获得统计信息X19。可保存关于各命令的统计信息X19。期望在制造SSD10时(在测试过程之前)或在SSD10装运时将统计信息X19重设至零。统计信息X19增加得越多,表明可靠度劣化得越多。
下面将描述当前温度(统计信息X20)。如果温度计安装在SSD10中,则存储控制器50从温度计周期性地接收温度信息。存储控制器50将最后从温度计接收的温度保存在统计信息X20中作为当前温度。如果这样的值非常高(例如,高于或等于85℃),则确定SSD10的可靠度受负面影响,且如果温度非常低(例如,低于或等于-10℃),则确定SSD10的可靠度受负面影响。
下面将描述最高温度(统计信息X21)。存储控制器50将当前温度X20的最大值保存在统计信息X21中作为最高温度。如果这样的值非常高(例如,高于或等于85℃),则确定SSD10的可靠度受负面影响。当从温度计接收高于X21的当前温度时,存储控制器50将X21重写至当前温度。相比SSD10的操作温度,期望在制造SSD10时(在测试过程之前)或在SSD10装运时将X21设置至足够小的温度(例如,-40℃)。统计信息X21增加得越多,表明可靠度劣化得越多。
下面将描述最低温度(统计信息X22)。存储控制器50将当前温度X20的最小值保存在统计信息X22中作为最低温度。如果这样的值非常小(例如,高于或等于-40℃),则确定SSD10的可靠度受负面影响。当从温度计接收低于X22的当前温度时,存储控制器50将X22重写至当前温度。相比SSD10的操作温度,期望在制造SSD10时(在测试过程之前)或在SSD10装运时将X22设置至足够高的温度(例如,120℃)。统计信息X22下降得越多,表明可靠度劣化得越多。
下面将描述统计信息的增加速率(统计信息X23)。分别保存统计信息X01至X19的非最新信息(例如,在接通SSD10的电源时或之前的恒定时间的值、在SSD10的电源断开之前时间的值等)。统计信息X23定义为以下其中之一。
统计信息的增加速率=(最新统计信息)-(旧信息)
统计信息的增加速率=((最新统计信息)-(旧信息)/(从获取旧信息开始的经过时间)
统计信息的增加速率=((最新统计信息)-(旧信息)/(从获取旧信息开始的与非存取数)
期望在制造SSD10时(在测试过程之前)将X23设置为零。统计信息X23增加得越多,表明可靠度劣化得越多。
下面将描述NAND存储器垃圾收集(NANDGC)失败标记(统计信息X24)。如果统计信息X24是1,则无法通过NAND垃圾收集(NANDGC)来确保足够数量的空闲块用于操作。期望在制造SSD10时(在测试过程之前)将X24设置为零。统计信息X24增加得越多,表明可靠度劣化得越多。
对于统计信息26,可储存上文描述的所有参数,或可储存这些参数中的一些或仅一个。期望统计信息26将最近信息保存在RAM40上,且在NAND存储器20中周期性地做备份。统计信息26可只保存在RAM40或NAND存储器20的其中之一,或相关统计信息可传输到主机装置100,且保存在主机装置100或连接至主机装置100的储存装置中。
现将使用图14来描述SSD10中的写入操作。当SSD10从主机100接收写入请求时(步骤S100),存储控制器50搜索RAM40的空闲块表21(步骤S101),且获取当前空闲块数量。如果空闲块数量小于预定阈值(步骤S102),则存储控制器50执行后文将描述的“NAND存储器垃圾收集”(“NANDGC”)(步骤S120),且如果空闲块数量大于预定阈值(步骤S102),则重新从空闲块表21获得空闲块并获取获得的空闲块的物理ID。
接着,存储控制器50执行对获取的空闲块的写入操作(步骤S103),将LBA、物理块ID及从主机100接收的相关物理块的擦除次数添加在活动块表23中,且也将LBA、物理块ID及物理页ID添加到活动页表24(步骤S104),且从空闲块表21移除被写入的物理块(步骤S105)。存储控制器50将上文写入过程的内容反映在统计信息26中。
现将使用图15来描述SSD10中的NANDGC的操作实例(图14的步骤S120)。在物理块中含有所有页的活动页表24中记录的页(有效页),该页对应于LBA。并不是在物理块中含有的所有页都是有效页,且不对应于有效页的页(无效页)不对应于LBA。有效页是储存最新数据的页,且无效页是相同LBA的数据写入在另一处并因此不再被参考的页。通过一定数量的无效页,物理块在数据方面具有可用性,并因此通过执行收集有效页的数据的NANDGC并重写至不同块来确保空闲块。
首先,假定行数i=0并且空闲空间的累积数S=0(步骤S121)。存储控制器50读出活动块表23的头行(i=0),并获取头行的物理块ID(当前物理块ID)(步骤S122)。接着读出活动页表24,并获取对应活动页表24中的当前物理块ID的有效页的所有ID(步骤S123)。存储控制器50从物理块大小中减去所获取的多个有效页ID的大小以获得当前物理块的无效页的大小v(步骤S124),其中若v﹥0(步骤S125),则将当前物理块添加到NANDGC目标块列表(步骤S127)。此外,存储控制器50将当前物理块的无效页的大小v添加到空闲空间的累积数S并更新空闲空间的累积数S(步骤S128)。
如果在步骤S125中v=0,或如果在步骤S125中空闲空间的累积数S未达到物理块大小,则存储控制器50使列数i增加至1(步骤S126),读出活动块表23的下一行(i=1),并获取下一行的物理块ID(当前物理块ID)(步骤S122)。然后,相似地执行步骤S123至步骤S128的程序。相似地重复步骤S122至S129的程序直到在步骤S129中空闲空间的累积数S达到物理块大小。
如果在步骤S129中到目前为止所获取的无效页的总的大小S大于物理块大小,则存储控制器50从NAND存储器20读出NANDGC目标块列表上所有有效页的数据并将该数据写入RAM40中(步骤S130),且也对NANDGC目标块列表上所有物理块执行擦除过程(步骤S131),从活动块表23移除遭受擦除过程的所有物理块并将该所有物理块添加至空闲块表21(在这种情况下,增加擦除次数),并从活动页表24移除所有读出的页(步骤S132)。接着,存储控制器50从空闲块表21获取新空闲块,将写入至RAM40中的数据写入到获取的空闲块中(步骤S133),将写入数据的空闲块的物理块ID、相应LBA及相关块的擦除次数添加到活动块表23,将写入数据的页ID及相应LBA添加到活动页表24(步骤S134),并从空闲块表21中移除写入数据的块的块ID(步骤S135)。存储控制器50将NANDGC的处理内容反应在统计信息26中。无须始终在步骤S120的NANDGC中执行步骤S131的擦除过程,且可在步骤S103的写入操作之前立即执行步骤S131的擦除过程并增加擦除次数。
通常可通过这样的NANDGC来确保关于写入的足够数量的空闲块。如果甚至无法通过NANDGC来确保关于写入的足够数量的空闲块(步骤S136),则执行后文将描述的“RO模式切换过程”(步骤S137)。
不限于在从主机100接收写入请求时执行NANDGC,且可当从主机最后接收命令时或当从主机100接收命令以切换至待命或闲置状态时起经过预定时间后执行NANDGC。
现将使用图16来描述SSD10中的读出过程。当SSD10从主机100接收读取请求时(步骤S140),存储控制器50搜索活动块表23(步骤S141),并调查对应于从主机100接收的LBA的物理块ID是否存在于活动块表23中(步骤S142)。如果物理块ID存在于活动块表23中,则存储控制器50获取在活动页表24的物理块ID中含有的物理页ID(步骤S144),从对应于获取的物理页ID的物理页读出数据(步骤S145),并通过RAM40将读取的数据传输至主机100(步骤S146)。存储控制器50将上文读出过程的内容反映在统计信息26上。
如果在步骤S142中对应于从主机100接收的LBA的物理块ID不存在于活动块表23中,则存储控制器50可在不执行来自NAND存储器20的读出操作的情况下,通过对应于来自主机100的请求的数据长度将所有位是‘0’的数据传输至主机100(步骤S143)。
现将使用图17来描述SSD10中的错误过程。通常依据上文方式执行关于来自主机100的读取请求和写入请求的过程,但是可在至NAND存储器20的写入操作(程序化操作)中发生写入错误,可在关于NAND存储器20的擦除操作中发生擦除错误,可在关于NAND存储器20的读取操作中发生不可校正的ECC(错误校正码)错误(错误校正过程中的失败),诸如此类,在这种情况下一个异常过程因此变的必要。
当发生其中一个上述错误时(步骤S150),存储控制器50将发生错误的物理块添加至有损块表22(步骤S151),并从活动块表23及空闲块表21中移除发生错误的物理块(步骤S152),使得此后不存取发生错误的物理块。在这种情况下,发生错误的物理块的数据可复制到一个不同的物理块。存储控制器50将错误过程的内容反映在统计信息26上。已在读出过程、写入过程及NANDGC过程的描述中引进了这样的错误过程的实例,但是错误过程不限于这些实例,且应该认知到可关于NAND存储器20上的所有读出过程、写入过程、擦除过程以及其他种类的操作而应用错误过程。
通过使用SSD10,NAND存储器20的各块的可靠度劣化,有损块数目增加且空闲块数与活动块数的总和减小。此外,如果使用SSD10,则即使执行NANDGC仍无法确保足以执行写入过程的空闲块数(其是SSD10的寿命)。在这种情况下,确定满足RO模式切换条件并执行RO模式切换过程。
现将使用图18来描述SSD10中的RO模式切换过程。当SSD10操作时,存储控制器50通过监测统计信息26来确定是否满足RO模式切换条件。用作RO模式切换准则的RMAX可以是RMAX=保证可靠度的统计信息的值的上限值。
对于各种统计信息X01至X19、X23、X24,RMAX可采用不同值。如在图19中图解说明的,RMAX导出统计信息的原始值(原始数据)与开发阶段的SSD10的缺陷率的关系,并期望当缺陷率超过可接受值(例如,100ppm)时对于RMAX采用统计信息的原始数据,对于缺陷率,可采用其他缺陷率(比如写入至SSD10的数据的缺陷率,NAND存储器20的缺陷率或NAND存储器20的存储器单元的缺陷率)而不是SSD10的缺陷率。例如,在SSD10的开发阶段,执行验证是否恒定时间或更长时间连续正确地储存写入数据的磨损测试,同时在高温下重复关于大量(例如,100个)测试SSD10群组的写入操作,并同时继续监测统计信息且在缺陷率达到恒定百分比时对于RMAX可采用统计信息的原始数据。例如,如果在作为与磨损SSD10的LBA的整个区域相关的初始条件的高温状态下(例如,75℃)写入数据(例如,随机数据),而在高温状态下(例如,85℃)在某段时间或更长段时间保持不动,且此后SSD10的温度降低(例如,25℃),并在SSD10的LBA的整个区域上执行读出操作且读取的数据是不可ECC校正的(或若存在不可ECC校正的恒定数量的更多数据,或若在初始条件下读取的数据及写入的数据不匹配或无法被读出),则将此定义为SSD10的缺陷,并且对于缺陷率采用经过使有缺陷SSD10的数量除以测试执行的SSD10的数量而获得的值。对于RMAX可采用此缺陷率在统计上低于且明显低于可接受缺陷率的统计信息的原始数据。可对RMAX给定一个特定程度的裕度,并对于RMAX可采用由以下公式获得的RMAX’:
RMAX’=RMAX-裕度。
可在开发时通过设计模拟来获得RMAX。例如,可以通过设计模拟来获得缺陷率(比如SSD10的缺陷率)大于或等于恒定值的统计信息的值,并对RMAX可采用此值。
如在图20中图解说明的,对于RMAX,可通过测量或模拟SSD10来指定SSD10的性能(读出性能,写入性能等)小于或等于预定值的统计信息的值,并且对于RMAX可采用此值。例如,由于从NAND存储器的存储器单元读取的数据错误的可能性随着NAND存储器的可靠度劣化而增大,所以在数据读出时ECC校正所需的时间增加,且SSD10的可靠度与SSD10的读出性能可能存在极大相关性。例如,对于循序读出性能的测量,执行以下性能测量。
1.执行关于SSD10的ACS-2的F4hSECURITYERASEUNIT(正常擦除)。
2.数据(例如,随机数据)循序地写入至SSD10的LBA的整个区域上。
3.在所有LBA上循序地执行读出,且按单位时间(读出速度)获得读取的数据量的平均值(单位MiB/s)。对于性能信息(例如,性能速度)的测量,可根据在非专利文献(SNIA,SolidStateStoragePerformanceTestSpecificationVersion0.9http://www.snia.org/)中描述的标准执行测量。
如在图20中图解说明的,获得性能信息的统计信息相依性,例如,当在SSD10装运时循序读出速度预期值是400MiB/s且可被公布规范的标准允许的最低性能是300MiB时,获得读出速度预期值是300MiB的统计信息值并对于RMAX采用该值。
因此,可由开发者任意定义RMAX,且也可通过由除上文外的方法及参考定义RMAX。
存储控制器50比较RMAX与统计信息(X01至X19、X23和X24其中一个)的值,并当统计信息的值>RMAX或统计信息的值≥RMAX时,确定SSD10达到寿命尽头且模式切换至RO模式(步骤S160:是)。例如,在NANDGC失败标记(统计信息X24)的情况下,当统计信息的值是1时,确定SSD10已达到寿命尽头且模式切换至RO模式。在有损块的总数量(统计信息X01)的情况下,当统计信息的值大于预定值时,确定SSD10已达到寿命尽头且模式切换至RO模式。
存储控制器50将多条统计信息(X01至X19、X23和X24其中一个)各个值与RMAX进行比较,并当统计信息值中的一个大于或等于RMAX时,确定切换至RO模式。
存储控制器50以上文方式确定SSD10是否达到寿命尽头(SSD10是否处于非正常状态),且当确定SSD10达到寿命尽头时(当确定SSD10处于非正常状态时)执行后文将描述的RO模式切换过程(步骤S160:是)。
当对于统计信息采用当前温度X20及最高温度X21(比如对于RMAX采用RMAX=85℃)时,确定在超出保证操作范围外(比如统计信息的值>MAX或统计信息的值≥MAX)的温度下SSD10处于非正常状态且切换至RO模式(步骤S160:是),此后,因为当返回至统计信息的值≤RMAX-MAX裕度或统计信息的值<RMAX-MAX裕度的正常温度时,SSD10返回至正常状态,期望确定从RO模式切换至正常模式(步骤S160:否)。MAX裕度是大于或等于零的值,但是期望MAX裕度为大于零的值以防止发生RO模式与正常模式频繁转换(例如,MAX裕度=5℃)。
统计信息可采取除在本实施例中引进的统计信息X01至X19、X23、X24外的多种模式,但是本发明也适用于这些统计信息。在X01至X19、X23、X24与缺陷率的关系中存在正相关性,但是本发明也适用于存在负相关性的缺陷率(例如,在装运之后由SSD10经受的最低温度等)的统计信息。在这种情况下,采用可保证可靠度的下限值RMIN来取代RMAX,其中当统计信息小于RMIN时,确定SSD10达到寿命尽头且切换至RO模式。
尤其是,当对于统计信息采用当前温度X20及最低温度X22时(比如对于RMIN采用RMIN=-10℃),确定在超出保证操作(比如统计信息的值<RMIN或统计信息的值≤RMIN)范围外的温度下SSD10处于非正常状态且切换至RO模式(步骤S160:是),此后,因为当返回至统计信息的值≥RMIN+MIN裕度或统计信息的值>RMIN+MAX裕度的正常温度时,SSD10返回至正常状态,期望确定从RO模式切换至正常模式(步骤S160:否)。MIN裕度是大于或等于零的值,但是期望MIN裕度为大于零的值以防止发生RO模式与正常模式频繁切换(例如,MIN裕度=5℃)。
当统计信息大于预定义的RMAX或显示在正常操作中不是可能的非正常值时,即使SSD10未达到寿命尽头,仍期望执行RO模式切换过程。
当满足RO模式切换条件时(步骤S160:是),开始以下RO模式切换过程。首先,存储控制器50期望取消当前在NAND存储器20上执行的所有写入过程(步骤S161),传回关于从主机100接收的所有写入请求的错误,且删除从主机100接收的写入请求的所有队列(步骤S162)。接着,存储控制器50将1写入至NAND存储器20的管理信息中的RO模式标记25(步骤S163)。在这种情况下,除RAM40的管理信息的RO模式标记25之外的所有表可反映在NAND存储器的管理信息上。然后,SSD10返回关于从主机100接收的所有写入请求的错误直到切断或重新启动电源为止(步骤S164、S165)。
现将使用图21来描述SSD10的启动过程,当SSD10启动时,IPL55读出NAND存储器20的管理信息中的RO模式标记25(步骤S170),并区分RO模式标记25(步骤S171)。如果RO模式标记25是0(步骤S171),则IPL55有效化接口控制器30的RWIF控制器31(步骤S172)使之处于正常模式,并接着将NAND存储器20的管理信息读出至RAM40(步骤S173)。
如果RO模式标记25是1,则IPL55有效化ROIF控制器32使之处于RO模式(步骤S174),并接着读出在RAM40上的NAND存储器20的管理信息(步骤S175)。在RO模式中,SSD10当作不支持写入的只读装置。在切换至RO模式之后,SSD10仅仅需要执行读写操作中的读取操作,并因此可重新配置管理表的信息使得读出操作的速度变快。
现将描述主机100侧上的操作。首先,将使用图22来描述在主机100启动时的操作。当主机100启动时,主机100启动SSD控制工具100(步骤S201)。如果OS150是Windows(注册商标),则期望SSD控制工具110记录启动或记录服务程序使得在启动时SSD控制工具110设置为常驻程序,并可自动启动SSD控制工具110。在启动主机100中使用的系统磁盘可以是SSD10、与SSD10分开准备的预先安装系统的SSD或硬盘驱动器(HDD)或安装有引导程序的DVD-ROM、CD-ROM或USB存储器。
当SSD控制工具110启动时,SSD控制工具110将装置信息的传输请求传输至SSD10以获取SSD10的装置信息。如上文描述的,如果RWIF控制器31在SSD10中有效,则SSD控制工具110通过在ACS-2中描述的装置签名中的LBA(7:0)及LBA(15:8)来识别SSD10是ATA装置,且当从主机100接收装置标识信息的传输请求(比如在ACS-2中描述的EChIDENTIFYDEVICE等)时,RWIF控制器31将SSD10是可读写装置的标识信息传输至主机100。如果ROIF控制器32在SSD10中有效,则SSD控制工具110通过在ACS-2中描述的装置签名中的LBA(7:0)及LBA(15:8)来识别SSD10是ATAPI装置,且当从主机100接收装置标识信息的传输请求(比如在MMC-6中描述的46hGETCONFIGURATION等)时,ROIF控制器32传输SSD10不支持写入的装置标识信息。因此,SSD控制工具110以此方式从SSD10获取装置标识信息(步骤S202)。通知SSD10是否为只读装置的方法可采取除上文外的各种形式。
如果从SSD10返回的信息是不支持写入装置(步骤S203),则SSD控制工具110转换和设置选择开关123、124以无效化RWIF驱动器121(步骤S206)和有效化ROIF驱动器122(步骤S207)以在RO模式中操作SSD10。如果SSD10获取的信息不是不支持写入的装置(步骤S203),则SSD控制工具110转换和设置选择开关123、124以无效化ROIF驱动器122(步骤S204)和有效化RWIF驱动器121(步骤S205)以在正常模式中操作SSD10。
现将使用图23来图解说明在主机100操作时SSD控制工具110的操作。为了快速检测SSD10切换至RO模式,如果SSD10处于正常模式,则期望SSD控制工具110继续监测与来自主机100的写入请求相关的来自SSD10的响应(步骤S210)。如果SSD10处于RO模式,则写入请求不传输至SSD10,因此SSD控制工具110可不检测SSD10的响应。
如果返回关于传输至处于正常模式的SSD10的写入请求的错误(可为一次错误或多次错误),则SSD控制工具110确定为如图18中图解说明的SSD10启动RO模式切换过程且返回关于所有写入请求的错误的状态,并无效化RWIF驱动器121(步骤S211)。从将SSD10快速识别为只写装置的立场,期望SSD控制工具110使用SATA标准的COMPRESET、对在ACS-2中描述的SCTCommandTransport厂商唯一的命令及对厂商唯一的其他命令,通过将重设命令发送至SSD10等以便重新启动SSD10(步骤S212)。通过SSD10的电源的关/开来执行由用户重新启动计算机系统1的此重新启动过程,且SSD10通过执行在图21中图解说明的过程来切换至RO模式。SSD控制工具110有效化ROIF驱动器122(步骤S213)。
因此,主机100可以可靠地执行关于SSD10的读出过程而不将SSD10错误地识别为无效的外部储存装置,同时紧接着在启动RO模式切换过程之后且在RO模式期间启动SSD10.
图24图解说明当Windows(注册商标)用于主机100中的OS时的驱动器的显示器的实例,并假定SSD经连接用于驱动器D。如果SSD处于正常可读写状态,则驱动器D的类型显示为“本地磁盘”,如在图24(a)中图解说明的。然而,在SSD控制工具110通过图22及图23的过程来识别驱动器D是不支持写入装置之后,驱动器D的类型显示为“CD-ROM”、“DVD-ROM”或“ROM驱动器”,如在图24(b)中图解说明的。
在上文的描述中,对于在图18SSD10中的RO模式切换条件中使用的统计信息,采用统计信息X01至X19、X23、X24,但是可使用其他统计信息来确定是否满足RO模式切换条件。
例如,如果在SSD10中引进在美国专利申请公开第20090222617号中描述的管理单位(称为簇),则对于RO模式切换条件可采用数个有损簇。簇大小是扇区大小的两倍或两倍以上的自然倍数,且由来自LBA的预定位的较高位序列配置成簇地址。在SSD10中,用于管理有损簇的簇地址(簇ID)的有损簇表保存为管理信息。当在执行从NAND存储器20的读出时由ECC校正电路58在ECC过程中发生ECC校正错误时,存储控制器50可记录在有损簇表中发生ECC校正错误的簇。可基于有损簇表的记录内容来获取有损簇的数量。因此,如果SSD10在正常模式中操作,则存储控制器50基于储存在RAM40中的管理信息中的有损簇表的项数来获取当前有损簇数量,将获取的有损簇数量与阈值比较,且当有损簇数量大于或等于阈值时确定满足RO模式切换条件。
在图18和图21的流程图中,在SSD启动时通过将RO模式标记25内插在SSD10中以便确定是否满足只读模式切换条件,但是可通过在启动时直接确定在RO模式切换条件中使用的各种类型的管理信息的至少一个是否满足RO模式切换条件而不是使用RO模式标记25来确定是否切换至只读模式。
现将描述安装在主机100上的SSD控制工具110的过程变体。例如,可采用在图25中图解说明的操作步骤来取代在图23总图解说明的操作步骤。在图25中,当SSD10在正常模式中操作时,SSD10控制工具110将周期性地获取SSD10的统计信息的命令发出至SSD10(步骤S220)。此命令可以是SMARTREADDATA(智能读取数据)(B0h(D0h))或S.M.A.R.T(自监测分析及报告技术)命令(其是存储器的自我诊断功能)、
在ACS-2中描述的SCTCommandTransport或对厂商唯一的命令。在接收S.M.A.R.T的信息的SSD10中,存储控制器50获取统计信息X01至X19、X23和X24中的一个、一部分或前述所有统计信息,且将获取的统计信息返回到主机100。SSD控制工具110通过接收从SSD10返回的统计信息来获取统计信息(步骤S221)。
图26图解说明关于统计信息X01至X19、X23、X24的管理表。例如,
如在图26中图解说明的,当使用B0h/D0hSMARTREADDATA时,分配关于统计信息的构成元素(X01至X19、X23、X24等)中每一个的属性ID,但是当然属性ID可只分配给某些构成元素。关于统计信息26的构成元素,在标准化之后采用SMAB作为最佳值,且在标准化之后为保证下限值的可靠度采用诸如定义为SMAL=SMAB*AMALR(0≤AMALR<1)(SMAL是一个整数,且通过将小数点后面的小数四舍五入而转化成整数)的SMAL。属性值定义为:
属性值=SMAL+SMAB×(1-AMALR)×(RMAX-原始数据)/RMAX
属性阈值=30(固定值)
(原始数据)=统计信息的原始数据
从而使得存储控制器50计算S.M.A.R.T信息的属性值(图26中的“值”)且将此属性值传输至SSD控制工具110。属性阈值是图26中的“阈值”,且原始数据是图26中的“原始数据”。
在标准化之后最佳值SMAB只需要是任意自然数,且可采用SMAB=100。AMALR只需要是满足0≤AMALR<1的任意数,且可采用AMALR=0.3。此外,AMALR及SMAB可关于X01至X19、X23、X24中的每个而采用不同值。如果SMAB=100及AMALR=0.3,则关于将要采用的统计信息的属性值的最佳值是100(例如,紧接装运之后的值是100),并随着可靠度劣化而逐步降低,其中当SSD无法再保证可靠度时(当统计信息的原始数据大于或等于RMAX时)属性值30达到小于或等于30的值。B0h/DAhSMARTRETURNSTATUS(其是在ACS-中描述的命令)作为用于检测属性值是否超过阈值的手段,并可从相关命令的输出确定属性值是否超过阈值。
可采用图26的“最差”作为SSD控制工具110诊断SSD10的寿命的规范。由存储控制器50将“最差”计算为属性值的最差值。在X01至X19、X23、X24的情况下,最差是在SSD10装运之后(或制造之后)的属性值的最小值。替代地,关于最差,可采用在过去的恒定时间范围内的属性值的最小值作为最差值,或可采用从过去直到目前为止的最小值作为回至过去的最差值,其中执行通信或过程达特定次数(特定数据量)。
可采用图26中的“原始数据”(原始值)作为SSD控制工具110诊断SSD10的寿命的规范。统计信息(例如,X01至X19、X23、X24)的原始数据从SSD10传输至SSD控制工具110作为原始数据。在这种情况下,SSD控制工具110可从已保存RMAX或SSD控制工具110通过分别从SSD10读出或从另一个储存装置读取而获得RMAX,比较RMAX与原始数据,且当原始数据﹥RMAX或原始数据≥RMAX时确定SSD10达到寿命尽头。例如,在NANDGC失败标记的情况下,当原始数据是1时确定SSD10达到寿命尽头。在有损块的总数量的情况下,当原始数据大于预定值时确定SSD10达到寿命尽头。关于原始数据,统计信息的原始数据不一定需要被输出,且存储控制器50可将通过对统计信息的原始数据执行四次算术运算获得的值传输至SSD控制工具110作为原始数据,且比较RMAX与通过四次算术运算获得的值以便做出判定。存储控制器50可将通过加密统计信息的原始数据获得的数据传输至SSD控制工具100作为原始数据,且存储控制器50可解码该数据并将解码的数据与RMAX比较以便做出判定。
SSD控制工具110比较获取的统计信息与预定阈值(比如RMAX及RMIN)(步骤S222),且相似于图23,当确定SSD10达到寿命尽头时(或刚好在寿命尽头之前或处于非正常状态)(步骤S222:是)(比如当SSD10的统计信息大于RMAX(或X24=1,或当统计信息小于RMIN时))无效化RWIF驱动器121(步骤S223)。SSD控制工具110可重新启动SSD10(步骤S224)。在重新启动SSD110之后,SSB控制工具110有效化ROIF驱动器122(步骤S225)。
当SSD10处于正常模式时,主机100中的操作可以是在图27中的操作步骤。在此操作步骤中,SSD控制工具110将SMARTREADDATA或S.M.A.R.T命令或厂商唯一命令周期性地发出至SSD10(步骤S240)。在接收S.M.A.R.T的信息的SSD10中,存储控制器50基于储存在RAM40中的管理信息中的有损簇表的项数来获取当前有损簇数量,并将获取的有损簇数量返回到主机100。SSD控制工具110通过接收从SSD10返回的有损簇数量来获取有损簇数量(步骤S241)。
SSD控制工具110比较获取的有损簇数量与预定阈值(步骤S242),并当SSD10的有损簇数量大于或等于阈值时,类似于图13,无效化RWIF驱动器121(步骤S243),重新启动SSD10(步骤S244),且有效化ROIF驱动器122(步骤S245)。
备份功能可加载在SSD控制工具110中。在SSD10切换至只读模式的状态下,假定SSD10的数据保存性质劣化,因此SSD的用户数据需要尽可能快地撤出到另一辅助储存装置。图28是图解说明当SSD控制工具110被加载备份功能时主机100的配置的视图。辅助储存装置(其他SSD,硬盘驱动器,可携式磁盘储存介质等)400连接至主机100,且主机100的OS与辅助储存装置400通过辅助储存装置驱动器401来通信。
图29图解说明当采用备份时SSD控制工具110的操作实例。在图29中,步骤S208添加至在图22中图解说明的SSD控制工具110的操作步骤中。在步骤S208中的备份中,SSD控制工具110显示消息(比如“SSD正切换至只读模式。需要SSD的数据备份?”),并显示用于选择备份必要性的“确定”按钮及“取消”按钮。当用鼠标135点击“确定”按钮时开始备份,且当用鼠标135点击“取消”按钮时显示的信息消失并不执行备份。读出SSD10的所有LBA的数据的命令发送到ROIF驱动器122。SSD控制工具110将命令发送到辅助储存装置驱动器401以将从SSD10读出的数据写入到与从SSD10读出的数据的LBA(SSD的LBA)相同的LBA(辅助储存装置400的LBA)。例如,SSD10的LBA=0h的数据复制到辅助储存装置400的LBA=0h。SSD10的LBA=234c5h的数据复制到辅助储存装置400的LBA=234c5h。
在备份过程中,SSD控制工具110可将命令发送到主机100的OS,以将SSD10的所有文件复制到辅助储存装置400。在这种情况下,OS参考在OS中含有的文件管理表或元数据,获取SSD10的所有文件的所有LBA,读出获取的LBA的所有数据,将读取的数据写入在辅助储存装置400中,并更新文件管理表或元数据使得写入的LBA及文件索引相对应。包括SSD10和文件系统管理区域的主启动记录(MBR)信息的分区信息可以通过存取以获取被使用区域和文件的信息,基于获取的信息来产生SSD10的数据上的ROM图像,且产生的ROM图像可以保存在另一个储存装置中。
在本实施例中,为简便起见,NAND存储器20的物理地址与管理信息中的LBA直接相关联,但是可使用如在美国专利申请公开20090222617中的为扇区大小的两倍或两倍以上的自然数倍的管理单位来管理LBA,且可在管理信息(而非LBA)中描述管理单位与NAND存储器的物理地址的对应关系。描述NAND存储器20的物理地址与LBA的对应关系的管理信息可采用各种形式,且由描述物理地址与LBA的对应关系的表(逻辑-物理转化表)采取的形式不影响本发明的本质。且关于除与非型快闪存储器外的非易失性存储器,描述物理地址和非易失性存储器与LBA的对应关系的管理信息可采用多种形式,但是由描述物理地址与LBA的对应关系的表(逻辑-物理转化表)采取的形式不影响本发明的本质。
与在管理信息区段中使用的可靠度信息无关的信息不影响本发明的本质。在第二个实施例之后的实施例中也可应用对可靠度信息的要求。
因此,根据第一实施例,在SSD10中确定是否满足只读模式切换条件,其中如果满足只读模式切换条件,则接口控制器转换至专用于读取的模式,基于从SSD10获取的信息而在主机100中确定是否将SSD10识别为可读写操作的仅读取操作的只读存储器,以及如果确定识别为只读存储器则用于SSD控制的接口驱动器转换至专用于读取的模式,并因此主机通常可将切换至只读模式的SSD识别为只启用可读取操作的装置。
(第二实施例)
在第一实施例中,使用安装至SSD10的功能和安装至主机100的功能两者。在第二实施例中,阐释仅应用安装至SSD10的功能的情况,如果功能安装在SSD10及主机100两者上则最有效,但是即使通过将功能仅安装在SSD10上仍可展现足够的效果。
图30图解说明计算机系统的第二个实施例的配置。在第二个实施例中,SSD10安装有在第一实施例中描述的接口控制器30,且用于使SSD10转换接口驱动器120的SSD控制工具110没有安装在主机100侧上。在图30中,在具有与在图1中图解说明的构成元件相同的功能的构成元件上标记相同参考数字,并将省略冗余描述。在第二实施例中,例如,IPL55的功能安装在控制器50上。且在第二实施例的SSD10中,可安装上文在第一实施例中描述的SSD10的所有功能。
在第二实施例中,存储控制器50在SSD启动时或在SSD操作期间使用上文描述的管理信息来确定是否满足使SSD10从正常可读取/可写入状态切换至只读模式状态的上文描述的只读模式切换条件,其中如果满足只读模式切换条件,则接口控制器30从RWIF控制器31转换至ROIF控制器32。当从主机100作出请求时,RWIF控制器31将指示相关驱动器是可读/可写驱动器的装置标识信息传输至主机。当从主机100作出请求时,ROIF控制器32将指示相关驱动器是读取专用驱动器的装置标识信息传输至主机。
期望RWIF控制器31配置成对主机100明确指示SSD10是ATA装置。例如,在ATA/ATAPI命令集2(ACS-2)中描述的装置签名中,LBA(7:0)输出为01h,LBA(15:8)输出为00h,以及LBA(23:16)作为00h输出至主机100,使得可对主机100通知SSD10是ATA装置。期望ROIF控制器32配置成对主机100明确指示SSD10是ATAPI装置。例如,在ACS-2中描述的装置签名中,LBA(7:0)输出为01h,LBA(15:8)输出为14h,以及LBA(23:16)作为EBh输出至主机100,使得可对主机100通知SSD10是ATAPI装置。
ROIF控制器32配置成对主机100通知SSD10不支持写入命令且只进行读取。例如,当通过ATA接口90从主机100接收在INCITS多媒体命令6(MMC-6)中采用的命令GETCONFIGURATION(46h)时,ROIF控制器32对主机100返回在诸如RandomWritable(随机可写)(特征值=0020h)、IncrementalStreamingWritable(增量流可写)(特征值=0021h)、WriteOnce(一次写入)(特征值=0025h)等特征中不支持所有写入功能。另一方面,ROIF控制器32可相似于RWIF控制器31配置成对主机100明确指示SSD10是ATA装置,并当通过ATA接口90从主机100接收装置标识信息(比如在ACS-2中描述的EChIDENTIFYDEVICE命令)时可配置成对主机100返回不支持所有写入功能。通知SSD10是否是只读装置的方法可采用各种其他形式。
例如,参考在第一实施例中使用的图18,在SSD10操作(图18:步骤S160)时存储控制器50确定是否满足RO模式切换条件。满足RO模式切换条件时的特定实例包括满足例如以下条件时:比如当确定SSD达到寿命尽头(或刚好在达到寿命尽头之前,或处于非正常状态)时,比如当统计信息X01至X19、X23、X24中的至少一个大于RMAX时,当X24=1时或当统计信息小于RMIN时。
当满足RO模式切换条件时,期望存储控制器50取消当前在NAND存储器20上执行的所有写入过程(步骤S161),返回关于从主机100接收的所有写入请求的错误,并删除从主机100接收的写入请求的所有队列(步骤S162)。接着,存储控制器50将1写入到NAND存储器20的管理信息中的RO模式标记25(步骤S163)。此后,SSD10返回关于从主机100接收的所有写入请求的错误直到切断或重设电源为止(步骤S164、步骤S165)。
在SSD10启动时,执行在第一实施例中使用的相似于图21的操作。换言之,当SSD10启动时,存储控制器50中的IPL55读出NAND存储器20的管理信息中的RO模式标记25(步骤S170),并读取RO模式标记25(步骤S171)。如果RO模式标记25是0(步骤S171),则IPL55有效化接口控制器30的RWIF控制器31(步骤S172)使之处于正常模式,并接着将NAND存储器20的管理信息读出至RAM40(步骤S173)。
如果RO模式标记25是1,则IPL55有效化ROIF控制器32使之处于RO模式(步骤S174),并接着在RAM40上将NAND存储器20的管理信息读出(步骤S175)。在RO模式中,SSD10当作不支持写入的只读装置。
在启动主机100或连接装置时,主机100对连接的装置请求标识信息。在正常模式中,SSD10使RWIF控制器31将指示SSD10是关于主机100可读取且可写入的装置标识信息传回至主机,并因此主机100将SSD10识别为可读写装置。在RO模式中,SSD10使ROIF控制器32将指示SSD10是不支持写入的只读驱动器的装置标识信息传回至主机100,并因此主机100将SSD10识别为不支持写入装置。因此,在RO模式时,写入请求不从主机100发送到SSD10。因此,在RO模式中,SSD10当作不支持写入的只读装置,使得可从主机100进行出写入外的存取。即使Windows(注册商标)安装在主机100上以用于OS,SSD10仍被识别为可读取装置。
当在SSD10的可靠度劣化时SSD10对主机100通知SSD10是不支持写入的外部储存装置的标识信息时,在主机100看来犹如SSD10从可读写外部储存装置转换至不支持写入的外部储存装置。因此,具有劣化可靠度的SSD10当作主机100的只读装置,使得主机100可将SSD10处理成通用只读外部储存装置,比如CD-ROM或DVD-ROM。
(第三实施例)
在第三实施例中,展示应用仅安装至主机100的功能的情况,如果功能安装在SSD10和主机100两者上则最有效,但是即使通过将功能仅安装在主机100上仍可展现足够的效果。
图31图解说明计算机系统的第三实施例的配置。在第三实施例中,在第一实施例中描述的接口驱动器120及SSD控制工具110安装在主机100上,并且接口控制器30(其中可转换RWIF控制器31和ROIF控制器32)不安装在SSD10侧上。在图31中,在具有与在图1中图解说明的构成元件相同功能的构成元件上标记相同参考数字,并将省略冗余描述。只安装有RWIF控制器31的接口控制器38被安装取代接口控制器30。且在第三实施例的主机100中,可安装在上文第一实施例中描述的主机100的所有功能。在第三实施例中,SSD10自身不一定需要能够切换至RO模式。
在第三实施例中,SSD控制工具110执行相似于在第一实施例的图25及图27中描述的操作的操作。当主机100启动时,主机100启动SSD控制工具110。期望SSD控制工具通过记录启动菜单、服务或Windows(注册商标)中的注册表随着主机100的启动而自动启动。可由用户用键盘134、鼠标135等来任意启动SSD控制工具。当SSD控制工具110启动时,在图25的情况(图25:步骤S220)下SSD控制工具110将统计信息的传输请求传输至SSD10以获取SSD10的统计信息X01至X19、X23、X24中的至少一个。传输请求可是SMARTREADDATA或S.M.A.R.T命令(其是存储器的自我诊断功能)、在ACS-2中描述的SCTCommandTransport或对厂商唯一的命令,如上文所描述的。
SSD控制工具110以这种方式获取统计信息(步骤S221)。SSD控制工具110将从SSD返回的统计信息与阈值(例如,在第一实施例中描述的RMAX或RMIN)比较(步骤S222)。当使用在ACS-2中描述的B0h/D0hSMARTREADDATA以获取统计信息时,SSD控制工具110获取以在图26中图解说明的属性值、阈值、最差值及原始数据(原始值)形式的统计信息26的构成元素(X01至X19,X23、X24)中的至少一个统计信息。通过存储控制器50计算属性值、阈值、最差值及原始数据(原始值)的方法与第一实施例相同,且以此方式计算的信息从SSD10传输至控制工具110作为关于B0h/D0hSMARTREADDATA的读取的信息。
例如,当将SMART的属性值及阈值作为用于诊断SSD10的寿命(或非正常状态)的比较数据时,SSD控制工具110执行属性值与阈值的比较,并当属性值<阈值(或属性值≤阈值)时SSD控制工具确定SSD10达到寿命尽头(或非正常事件)。如果在第一实施例中SMAB=100且AMALR=0.3,则关于将要采用的统计信息的属性值的最佳值是100(例如,紧接装运之后的值是100),并随着可靠度劣化而逐步降低,其中当SSD无法再保证可靠度时(当统计信息的原始数据大于或等于RMAX时)属性值30达到小于或等于30的值,且SSD控制工具110确定SSD10被识别为只读存储器(步骤S222:是)。B0h/DAhSMARTRETURNSTATUS(其是在ACS-2中描述的命令)作为用于检测属性值是否超过阈值的手段,并且可由相关命令的输出确定属性值是否超过阈值。
例如,当将SMART的最差值及阈值作为用于诊断SSD10的寿命(或非正常状态)的比较数据时,SSD控制工具110执行最差值与阈值的比较,并当最差值<阈值(或最差值≤阈值)时SSD控制工具确定SSD10达到寿命尽头(或非正常事件)。如在第一实施例中,如果SMAB=100及AMALR=0.3,则关于将要采用的统计信息的最差值的最佳值是100(例如,紧接装运之后的值是100),并随着可靠度劣化而逐步降低,其中当SSD无法再保证可靠度时(当统计信息的原始数据大于或等于RMAX时)最差值30达到小于或等于30的值,且SSD控制工具110确定SSD10被识别为只读存储器(步骤S222:是)。
例如,当将随着SSD10的可靠度劣化而增大的SMART的原始数据(原始值)作为用于诊断SSD10的寿命(或非正常状态)的比较数据时,SSD控制工具110执行原始值与RMAX的比较,并当原始值≥RMAX(或原始值>RMAX)时SSD控制工具确定SSD10达到寿命尽头(或非正常状态)。RMAX是保存在主存储器202(比如SSD控制工具110)上的参数。当计算机系统1的电源断开时,期望RMAX储存在SSD10中作为非易失性信息,且当电源接通时并当SSD控制工具加载至如在图5及图6中图解说明的主存储器202时,RMAX加载至主存储器202。如在第一实施例中,期望在SSD10开发时确定RMAX,且RMAX储存在成为SSD控制工具的安装源的区域(比如网页服务器的储存介质400的区域、光学储存介质500的储存区域或USB存储器600的区域)中。
原始值随着SSD10的可靠度劣化而逐步增大,其中当SSD无法再保证可靠度时,原始值达到大于或等于RMAX的值,且SSD控制工具110确定SSD10被识别为只读存储器(步骤S222:是)。关于各构成元素(比如统计信息X01至X19,X23、X24等),RMAX可采用不同值。
例如,当随着SSD10的可靠度劣化而增大的SMART的原始数据(原始值)作为用于诊断SSD10的寿命(或非正常状态)的比较数据时,SSD控制工具110执行原始值与RMIN的比较,并当原始值≤RMIN(或原始值<RMIN)时SSD控制工具确定SSD10达到寿命尽头(或非正常状态)。RMIN是主存储器202(比如SSD控制工具110)上保存的参数。当计算机系统1的电源断开时,期望RMIN储存在SSD10中作为非易失性信息,且当电源接通时当SSD控制工具加载至如在图5及图6中图解说明的主存储器202时,RMIN加载至主存储器202。如在第一实施例中,期望在SSD10开发时确定RMIN,且RMIN储存在成为SSD控制工具的安装源的区域(比如网页服务器的储存介质400的区域、光学储存介质500的储存区域或USB存储器600的区域)中。
原始值随着SSD10的可靠度劣化而逐步减小,其中当SSD无法再保证可靠度时,原始值达到小于或等于RMIN的值,且SSD控制工具110确定SSD10被识别为只读存储器(步骤S222:是)。关于各构成元素(比如统计信息X01至X19、X23、X24等),RMIN可采用不同值。
例如,当接收统计信息X24作为SMART的原始数据(原始值)且将该统计信息X24作为用于诊断SSD10的寿命(或非正常状态)的比较数据时,SSD控制工具110执行原始值是否为1的判定,并当原始值=1时确定SSD10达到其寿命尽头(或非正常状态)。如果SSD10的可靠度劣化且存储控制器50甚至NANDGC也无法确保足够数量的空闲块,则由存储控制器50将原始值设置为1,且SSD控制工具110确定将SSD10识别为只读存储器(步骤S222:是)。
如果作为步骤S222的比较结果而确定在SSD10中满足RO模式切换条件,即,如果确定SSD10被识别为只读存储器(步骤S222:是),则有效化ROIF驱动器122(步骤S225)。SSD控制工具110可通过操作图12中的操作系统150的系统参数而致使操作系统150将SSD10识别为只读存储器。期望SSD控制工具110传输重设命令等并且在步骤S225之前重新启动SSD10(步骤S224)。
期望SSD控制工具110周期性地执行如在图25、图27等中图解说明的步骤S220、S221及步骤S222(在图25的情况下)的程序,即,即使当主机100操作时也将统计信息的请求传输至SSD10以及确定将SSD10识别为只读存储器。例如,可按每一恒定时间发出SMARTREADDATA,并可确定是否将SSD10识别为只读存储器。可在主机100启动时执行请求和确定,或可在主机100启动之后执行请求以及确定以减少SSD控制工具110的中断处理的次数。如果确定将SSD10识别为只读存储器,则有效化接口驱动器120的ROIF驱动器122。在将SSD10识别为只读存储器以减小SSD控制工具110的中断处理的次数之后,期望不执行统计信息的传输请求以及RO模式切换确定。
当识别到启动或连接SSD10时,SSD控制工具110可执行请求及确定。例如,如果接口90是SATA接口,则当关于主机100的SSD10的状态寄存器从7Fh变成50h时确定启动或连接SSD10,接着可执行请求及确定。
可由存储控制器50执行识别为只读存储器的确定,且SSD控制工具110可通过SMARTREADDATA,SCTCommandTransport或对厂商唯一的命令来只接收确定结果。例如,如果由存储控制器50以相似于第一实施例的准则确定被识别为只读存储器,则SSD控制工具110通过SMARTREADDATA从SSD10接收数值0作为属性值,并在其他时间(正常时间)接收数值100,其中对于识别为只读存储器及不识别为只读存储器的两种情况,接收数值70作为阈值,且如果属性值<阈值则确定不识别为只读存储器(步骤S222:否)。应该明白最差值和原始值可用于接收确定结果。
当对于统计信息采用当前温度X20、最高温度X21及最低温度X22时,温度异常可能是暂时的,并因此当属性值≥阈值(或属性值>阈值)时,在步骤S255中SSD控制工具110有效化ROIF驱动器且确定返回正常状态之后,无效化ROIF驱动器并有效化RWIF驱动器。
从防止由SSD10的数据破换或损坏导致的用户数据损失的立场,期望ROIF驱动器122配置成根本不传输关于SSD10的写入命令。然而,如果需要写入一部分数据(比如SSD10中的操作系统的系统信息),则ROIF驱动器122可例外地允许将相关数据写入至SSD10,但是期望相关数据的数据量相对于NAND存储器20的容量足够小。更期望地,为了防止用户错误地传输写入命令且将数据写入至SSD10,ROIF驱动器122根本不传输关于SSD10的正常写入命令(比如在ACS-2中描述的35hWRITEDMAEXT及61hWRITEFPDMAQUEUED),且如果例外需要将数据写入SSD10中,则期望仅通过使用特殊命令(比如在INCITSACS-2中描述的SCTCommandTransport及对厂商唯一的其他命令)的命令来允许关于SSD10的写入。
还在第三实施例中,如在图5中图解说明的,当主机装置100的电源断开时,SSD控制工具110储存在SSD10的NAND存储器20的区域110A中,但是在主机装置100启动或程序启动时从区域110A加载至区域110。如在图6中图解说明的,如果多个外部储存装置连接至主机装置,则SSD控制工具可储存在作为SSD10但不同于SSD10的非易失性储存装置300的区域110B中,且可在主机装置100启动或程序启动时从区域110B加载至区域110。尤其是,如果非易失性储存装置300作为用于储存OS的系统驱动器时,以及SSD10作为用于储存用户数据(比如文件,静态图像数据及移动图像数据)的数据驱动器,则从清楚分开驱动器10与驱动器30的角色(比如将系统驱动器30作为用于主要储存OS及应用程序的驱动器和将数据驱动器10作为用于储存用户数据的驱动器)的立场,期望将控制工具储存在用作系统驱动器的非易失性储存装置300中。
且在第三实施例中,如在图5及图6中图解说明的,从让用户在执行控制工具的设置中省力的立场,期望计算机系统1装运有储存在SSD10或非易失性储存装置300中的SSD控制工具,放置在架子上,并提供给用户。从让用户能选择是否安装SSD控制工具的立场及从提供最新控制工具给用户的立场,通过从在图7中图解说明的网页下载、从在图8中图解说明的DVD-ROM安装及从在图9中图解说明的外部储存装置储存介质(USD存储器)安装,期望控制工具储存在SSD10或非易失性储存装置300中。且在第三实施例中,从促进用户可用性的立场,在装运SSD10时,期望光学介质500及USB存储器600将作为附件的SSD10进行封装且一起出售。光学介质500或USB存储器600可作为软件产品单独出售或可附为杂志及书本的补充。
因此,安装在主机100上的SSD控制工具110确定SSD10的可靠度状态(统计信息),且基于确定结果而对SSD选择接口驱动器,并因此当SSD10的可靠度劣化时(当达到寿命尽头,处于非正常状态时),在OS和其他软件看来犹如SSD10从可读写外部储存装置转换至不支持写入的外部储存装置。因此,具有劣化可靠度的SSD10当作OS及软件的只读装置,使得主机100可将SSD10处理为通用只读外部储存装置,比如CD-ROM或DVD-ROM。
(第四实施例)
在第一实施例和第二实施例中,SSD10将SSD10是只读装置的信息传输至主机100。使用与SSD10分开准备的接口中继装置700,接口中继装置700可将SSD10是只读装置的信息传输至主机100。接口中继装置700称为只读桥接器。在第四实施例中,SSD10自身不一定需要能够切换至RO模式。
图32图解说明只读桥接器700连接至在图10中图解说明的计算机系统的状态。图33是图解说明连接只读桥接器的第四实施例的计算机系统的框图。只读桥接器700配置成将是只读装置的信息传输至主机100。是只读装置的信息可是上文描述在MMC-6中采用的命令GETCONFIGURATION(46h),或可是其他命令。此外,只读桥接器700配置成扮演主机侧接口与SSD侧接口的中继器的角色(比如将从主机100接收的各种命令及响应传输至SSD10并将从SSD10接收的各种命令及响应传输至主机100)。如果主机侧接口与SSD侧接口的接口标准不同,则只读桥接器700转换所接收的命令及响应以便遵从传输侧接口,且接着传输所接受的命令及响应。如果主机侧接口是SATA接口,则只读桥接器700可配置成对主机100明确指示SSD10是ATAPI装置。例如,在ACS-2中描述的装置签名中,LBA(7:0)输出为01h,LBA(15:8)输出为14h,以及LBA(23:16)作为EBh输出至主机100,使得可对主机100通知SSD10是ATAPI装置。
在正常使用主机100期间,SSD10通过用作TTA接口90的SATA电缆或USB电缆而连接至主机100的母板130,如在图10中图解说明。当安装在主机100上的SSD控制工具110通过上文在ACS-2中描述的S.M.A.R.T信息而获取统计信息,并通过比较管理信息和阈值,在满足统计信息>RMAX、统计信息<RMIN或X24=1的条件时确定SSD10的可靠度劣化时,SSD控制工具110在显示器133上显示包括消息(比如“SSD寿命到达尽头。将只读桥接器的装置侧终端连接至SSD,将只读桥接器的主机侧终端连接至个人计算机,且备份SSD数据”)的警告窗口(或警告对话框)。待与管理信息比较的阈值(RMAX、RMIN等)可保存在主机100中使得SSD控制工具110可执行可靠度劣化的确定,或阈值可保存在SSD10中使得SSD10的存储控制器50可执行可靠度劣化的确定,且存储控制器50可仅将管理信息超过阈值的信息传输至主机100。
如在图32中图解说明的,根据在显示器133上显示的警告信息,用户用SATA电缆、USB电缆等连接SSD10与只读桥接器700,且用SATA电缆、USB电缆等连接只读桥接器700与母板130。
当之后主机100启动时,只读桥接器700将SSD10为只读装置的信息传至主机100。接着,主机100将只读ATAPI驱动器的只读驱动器应用为只读桥接器700的接口驱动器170,且SSD10被识别为只读装置,比如,主机上的CD-ROM和DVD-ROM。另一方面,只读桥接器700可配置为对主机100明确指示SSD10为ATA装置,且可配置为当通过ATA接口从主机100接收装置标识信息(比如在ACS-2中描述的命令EChINDENTIFYDEVICE)时向主机返回不支持所有写入功能。通知SSD10是否为只读装置的方法可采用各种其它方式。
在本实施例中,当停用关于SSD的写入或不保证关于SSD的写入操作时,即使在关于SSD的写入操作可导致SSD数据缺陷或SSD失败的条件下,主机也可通过简单地将只读桥接器700连接在主机100和SSD之间而在SSD10上执行读取操作。
用以在连接了只读桥接器700的情况下启动主机的系统磁盘可以是SSD10、或可以是与预先安装系统的SSD10分开准备的SSD或硬盘驱动器(HDD),或可以是安装有引导程序的DVD-ROM、CD-ROM或USB存储器。
即使当连接只读桥接器700时,主机100也可保存具有备份SSD或其它软件的数据的功能的SSD控制工具110。当检测到连接了只读桥接器700时,具有备份功能的软件显示诸如“只读桥接器已连接,是否备份SSD数据?”的消息和用于在软件的窗口中选择备份必要性的“确定”按钮和“取消”按钮。当用鼠标135点击“确定”按钮时开始备份,当用鼠标135点击“取消”按钮时显示的消息消失而不备份。即使用鼠标135按了“取消”按钮,稍后也可进行备份。
在第一实施例至第四实施例中,已描述了对于非易失性存储器采用NAND存储器的情况,但是第一至第四实施例还可应用到除了NAND存储器外的非易失性存储器,比如,用于非易失性存储器的硬盘驱动器(HDD)。非易失性存储器可为如在美国专利申请公开第20100172189号和美国专利申请公开第20100254191号中所示的半导体储存介质,其中存储器单元被布置为三维的。
虽然已描述了特定实施例,但是这些实施例仅由实例呈现。而不意在限制本发明的范围。事实上,本文描述的新颖实施例可以各种其它形式具体体现;此外,可在不背离本发明的精神的情况下以本文所描述的实施例的形式做出各种省略、替换及变更。所附附图及其等效物意在包括落入本发明的范围和精神之内的这样的形式或修改。

Claims (19)

1.一种包括主机装置和外部储存装置的信息处理装置,其中,
所述外部储存装置包括:
可读写非易失性存储器,
接口控制器,其连接至所述主机装置,所述接口控制器使得用于支持所述非易失性存储器的读写操作的第一接口控制器以及用于仅支持所述非易失性存储器的读写操作的读取操作的第二接口控制器被交替选择,以及
第一控制单元,其用于确定是否满足致使所述非易失性存储器切换至仅执行所述读写操作的所述读取操作的只读模式的切换条件,并且当满足所述切换条件时,使所述接口控制器从所述第一接口控制器转换至所述第二接口控制器;以及
所述主机装置包括:
接口驱动器,其用于操作所述外部储存装置,所述接口驱动器使得用于支持所述非易失性存储器的读写操作的第一接口驱动器以及用于仅支持所述非易失性存储器的读写操作的读取操作的第二接口驱动器被交替选择,以及
第二控制单元,其用于基于从所述外部储存装置获取的信息而确定所述非易失性存储器是否被识别为仅仅读写操作的读取操作为可能的只读存储器,并且当确定识别为只读存储器时,使所述接口驱动器从所述第一接口驱动器转换至所述第二接口驱动器,
其中
当确定识别为只读存储器的所述外部储存装置连接到所述主机装置时,所述主机装置选择所述第二接口驱动器;以及
所述外部储存装置选择所述第二接口控制器,由此
所述主机装置识别所述外部储存装置为只读存储器,而不向所述外部储存装置发出写入请求。
2.根据权利要求1所述的信息处理装置,其中,在操作所述外部储存装置期间及在所述外部储存装置启动时,所述第一控制单元确定是否满足所述切换条件。
3.根据权利要求1所述的信息处理装置,其中,在操作所述主机装置期间及在所述主机装置启动时,所述第二控制单元确定是否将所述非易失性存储器识别为只读存储器。
4.根据权利要求1所述的信息处理装置,其中,
所述第一接口控制器响应于来自所述主机装置的存取而通知所述主机装置为可读写装置;
所述第二接口控制器响应于来自所述主机装置的存取而通知所述主机装置为仅仅读写操作的读取操作为可能的装置。
5.根据权利要求1所述的信息处理装置,其中,
当从所述主机装置接收写入请求时,所述第二接口控制器返回错误至所述主机装置;
当从所述外部储存装置接收错误时,所述第二控制单元使所述接口驱动器从所述第一接口驱动器转换至所述第二接口驱动器。
6.根据权利要求1所述的信息处理装置,其中,在使所述接口驱动器从所述第一接口驱动器转换至所述第二接口驱动器之后,所述第二控制单元明确通知用户是否将所述非易失性存储器的储存数据备份至另一储存介质,并且若获得批准,将所述非易失性存储器的所述储存数据备份至另一储存介质。
7.一种包括主机装置和外部储存装置的信息处理装置的控制方法,所述外部储存装置包括可读写非易失性存储器,所述方法包括:
在所述外部储存装置中确定是否满足致使所述非易失性存储器切换至仅执行读写操作的读取操作的只读模式的切换条件,并且当满足所述切换条件时,使连接至所述主机装置的接口控制器从支持所述非易失性存储器的读写操作的第一接口控制器转换至仅支持所述非易失性存储器的读写操作的读取操作的第二接口控制器;以及
基于从所述外部储存装置获得的信息而在所述主机装置中确定所述非易失性存储器是否被识别为仅仅读写操作的读取操作为可能的只读存储器,并且当确定识别为只读存储器时,使用于操作所述外部储存装置的接口驱动器从支持所述非易失性存储器的读写操作的第一接口驱动器转换至仅支持所述非易失性存储器的读写操作的读取操作的第二接口驱动器。
8.根据权利要求7所述的信息处理装置的控制方法,其进一步包括:
当从所述主机装置接收写入请求时,将错误从所述外部储存装置返回至所述主机装置;
当从所述外部装置接收错误时,在所述主机装置中使所述接口驱动器从所述第一接口驱动器转换至所述第二接口驱动器。
9.根据权利要求7所述的信息处理装置的控制方法,其进一步包括:
在使所述接口驱动器从所述第一接口驱动器转换至所述第二接口驱动器之后,由所述主机装置明确通知用户是否将所述外部储存装置的储存数据备份至另一储存介质,若获得批准,则将所述外部储存装置的储存数据备份至另一储存介质。
10.一种与外部储存装置连接的主机装置,所述外部储存装置包括可读写非易失性存储器,所述主机装置包括:
接口驱动器,其用于操作所述外部储存装置,所述接口驱动器使得用于支持所述非易失性存储器的读写操作的第一接口控制器以及用于仅支持所述非易失性存储器的读写操作的读取操作的第二接口控制器被交替选择;以及
控制单元,其用于基于从所述外部储存装置获得的信息而确定所述非易失性存储器是否被识别为仅仅读写操作的读取操作为可能的只读存储器,当确定识别为只读存储器时,使所述接口驱动器从所述第一接口驱动器转换至所述第二接口驱动器,
其中
当确定识别为只读存储器的所述外部储存装置连接到所述主机装置时,所述主机装置选择所述第二接口驱动器;由此
所述主机装置识别所述外部储存装置为只读存储器,而不向所述外部储存装置发出写入请求。
11.根据权利要求10所述的主机装置,其中,在操作所述主机装置期间及在所述主机装置启动时,所述控制单元确定是否将所述非易失性存储器识别为只读存储器。
12.根据权利要求10所述的主机装置,其中,
当在切换至所述非易失性存储器仅执行所述读取操作的只读模式之后,从所述主机装置接收写入请求时,所述外部储存装置返回错误至所述主机装置;
当从所述外部装置接收错误时,所述控制单元使所述接口驱动器从所述第一接口驱动器转换至所述第二接口驱动器。
13.根据权利要求10所述的主机装置,其中,在使所述接口驱动器从所述第一接口驱动器转换至所述第二接口驱动器之后,所述控制单元明确通知用户是否将所述外部储存装置的储存数据备份至另一储存介质,若获得批准,则将所述外部储存装置的储存数据备份至另一储存介质。
14.一种连接至主机装置的外部储存装置,所述外部储存装置包括:
可读写非易失性存储器;
接口控制器,其连接至所述主机装置,所述接口控制器使得用于支持所述非易失性存储器的读写操作的第一接口控制器以及用于仅支持所述非易失性存储器的读写操作的读取操作的第二接口控制器被交替选择;以及
控制单元,其用于确定是否满足致使所述非易失性存储器切换至仅执行读写操作的读取操作的只读模式的切换条件,当满足所述切换条件时,使所述接口控制器从所述第一接口控制器转换至所述第二接口控制器,
其中
当确定识别为只读存储器的所述外部储存装置连接到所述主机装置时,所述主机装置选择所述第二接口驱动器;由此
所述主机装置识别所述外部储存装置为只读存储器,而不向所述外部储存装置发出写入请求。
15.根据权利要求14所述的外部储存装置,其中,在操作所述外部储存装置期间及在所述外部储存装置启动时,所述控制单元确定是否满足所述切换条件。
16.根据权利要求14所述的外部储存装置,其中,
所述第一接口控制器响应于来自所述主机装置的存取向所述主机装置通知为可读写装置;
所述第二接口控制器响应于来自所述主机装置的存取而向所述主机装置通知为仅仅读写操作的读取操作为可能的装置。
17.一种包括主机装置、外部储存装置及中继装置的信息处理装置,所述外部储存装置包括可读写非易失性存储器,所述中继装置可连接在所述主机装置与所述外部储存装置之间以在所述主机装置与所述外部储存装置之间中继信息,其中,
所述主机装置包括控制单元,所述控制单元用于基于从所述外部储存装置获得的信息而确定是否将所述非易失性存储器识别为仅仅读写操作的读取操作为可能的只读存储器,并且当确定识别为只读存储器时,明确通知用户将所述中继装置连接在所述主机装置与所述外部储存装置之间,
所述中继装置包括通知单元,所述通知单元用于在检测到所述主机装置启动时通知所述主机装置为只读装置,
所述控制单元响应于来自所述中继装置的通知而将仅支持所述外部储存装置的读写操作的读取操作的接口驱动器用作操作所述中继装置的接口驱动器。
18.一种包括主机装置、外部储存装置及中继装置的信息处理装置的控制方法,所述外部储存装置包括可读写非易失性存储器,所述中继装置可连接在所述主机装置与所述外部储存装置之间以在所述主机装置与所述外部储存装置之间中继信息,所述方法包括:
基于从所述外部储存装置获得的信息而在所述主机装置中确定是否将所述非易失性存储器识别为仅仅读写操作的读取操作为可能的只读存储器,当确定识别为只读存储器时,明确通知用户将所述中继装置连接在所述主机装置与所述外部储存装置之间;
在检测到所述主机装置启动时通知所述主机装置为只读装置;
响应于来自所述中继装置的通知而将支持所述外部储存装置的读写操作的读取操作的接口驱动器用作操作所述中继装置的接口驱动器。
19.一种用在主机装置与外部储存装置之间中继信息的中继装置,所述中继装置可连接在以下装置之间:
所述外部储存装置,其包括可读写非易失性存储器;
所述主机装置,其包括控制单元,所述控制单元基于从所述外部储存装置接收的信息而确定是否将所述非易失性存储器识别为仅仅读写操作的读取操作为可能的只读存储器,当确定识别为只读存储器时,明确通知用户在所述主机装置与所述外部储存装置之间连接所述中继装置,其中,
所述中继装置包括通知单元,所述通知单元用于在所述主机装置启动时通知所述主机装置为只读装置,
通过所述通知单元对所述主机装置的通知,在所述主机装置中将仅支持所述外部储存装置的读写操作的读取操作的接口驱动器用作用于操作所述中继装置的接口驱动器。
CN201180068496.0A 2011-03-10 2011-09-26 信息处理装置、外部储存装置、主机装置、中继装置、信息处理装置的控制方法 Expired - Fee Related CN103403691B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2011053228 2011-03-10
JP2011-053228 2011-03-10
JP2011-162330 2011-07-25
JP2011162330A JP5002719B1 (ja) 2011-03-10 2011-07-25 情報処理装置、外部記憶装置、ホスト装置、中継装置、制御プログラム及び情報処理装置の制御方法
PCT/JP2011/072693 WO2012120717A1 (en) 2011-03-10 2011-09-26 Information processing device, external storage device, host device, relay device, control program, and control method of information processing device

Publications (2)

Publication Number Publication Date
CN103403691A CN103403691A (zh) 2013-11-20
CN103403691B true CN103403691B (zh) 2016-04-06

Family

ID=46793995

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180068496.0A Expired - Fee Related CN103403691B (zh) 2011-03-10 2011-09-26 信息处理装置、外部储存装置、主机装置、中继装置、信息处理装置的控制方法

Country Status (7)

Country Link
US (10) US8631191B2 (zh)
EP (1) EP2684136B1 (zh)
JP (1) JP5002719B1 (zh)
KR (1) KR101475645B1 (zh)
CN (1) CN103403691B (zh)
TW (1) TW201239622A (zh)
WO (1) WO2012120717A1 (zh)

Families Citing this family (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2745203B1 (en) 2011-08-19 2016-09-21 Kabushiki Kaisha Toshiba Information processing apparatus
JP5740296B2 (ja) 2011-12-16 2015-06-24 株式会社東芝 半導体記憶装置、半導体記憶装置の制御方法、制御プログラム
JP5112566B1 (ja) 2011-12-16 2013-01-09 株式会社東芝 半導体記憶装置、不揮発性半導体メモリの検査方法、及びプログラム
JP5586718B2 (ja) 2012-06-19 2014-09-10 株式会社東芝 制御プログラム、ホスト装置の制御方法、情報処理装置およびホスト装置
US9064579B2 (en) 2012-07-16 2015-06-23 Kabushiki Kaisha Toshiba Semiconductor memory apparatus, data transmission device, and recording method
US9081664B2 (en) * 2012-08-10 2015-07-14 Kabushiki Kaisha Toshiba Memory system capable of preventing data destruction
US9460813B2 (en) 2013-03-14 2016-10-04 Kabushiki Kaisha Toshiba Memory system
JP6005566B2 (ja) 2013-03-18 2016-10-12 株式会社東芝 情報処理システム、制御プログラムおよび情報処理装置
US9032264B2 (en) 2013-03-21 2015-05-12 Kabushiki Kaisha Toshiba Test method for nonvolatile memory
US11221967B2 (en) 2013-03-28 2022-01-11 Hewlett Packard Enterprise Development Lp Split mode addressing a persistent memory
US10474380B2 (en) 2013-04-01 2019-11-12 Hewlett Packard Enterprise Development Lp External memory controller
US11126372B2 (en) 2013-04-01 2021-09-21 Hewlett Packard Enterprise Development Lp External memory controller
US9552176B2 (en) 2013-04-12 2017-01-24 Microsoft Technology Licensing, Llc Block storage using a hybrid memory device
JP2014225196A (ja) * 2013-05-17 2014-12-04 学校法人 中央大学 半導体記憶装置およびその制御方法
JP2015038796A (ja) 2013-08-19 2015-02-26 株式会社東芝 メモリシステムおよび制御方法
US9304685B2 (en) 2013-09-10 2016-04-05 Kabushiki Kaisha Toshiba Storage array system and non-transitory recording medium storing control program
US9235486B1 (en) * 2013-09-30 2016-01-12 Symantec Corporation Techniques for spare storage pool management
US9323467B2 (en) * 2013-10-29 2016-04-26 Western Digital Technologies, Inc. Data storage device startup
JP2015130121A (ja) * 2014-01-08 2015-07-16 ヤマハ株式会社 中継装置
US10298546B2 (en) 2014-03-07 2019-05-21 Toshiba Memory Corporation Asymmetrical encryption of storage system to protect copyright and personal information
US9268487B2 (en) * 2014-03-24 2016-02-23 Western Digital Technologies, Inc. Method and apparatus for restricting writes to solid state memory when an end-of life condition is reached
US9448742B2 (en) 2014-03-27 2016-09-20 Western Digital Technologies, Inc. Communication between a host and a secondary storage device
JP6226830B2 (ja) * 2014-07-24 2017-11-08 株式会社東芝 情報処理装置、データアクセス方法およびプログラム
US9740426B2 (en) * 2014-09-19 2017-08-22 Lenovo (Singapore) Pte. Ltd. Drive array policy control
US9575727B2 (en) * 2014-09-26 2017-02-21 Intel Corporation Methods for generating random data using phase change materials and related devices and systems
JP6489827B2 (ja) * 2014-12-26 2019-03-27 キヤノン株式会社 画像処理装置、画像処理装置の制御方法及びプログラム
CN105808444B (zh) * 2015-01-19 2019-01-01 东芝存储器株式会社 存储装置及非易失性存储器的控制方法
TWI510916B (zh) * 2015-02-05 2015-12-01 緯創資通股份有限公司 儲存裝置壽命監控系統以及其儲存裝置壽命監控方法
US9696935B2 (en) 2015-04-24 2017-07-04 Kabushiki Kaisha Toshiba Storage device that secures a block for a stream or namespace and system having the storage device
US20160321010A1 (en) 2015-04-28 2016-11-03 Kabushiki Kaisha Toshiba Storage system having a host directly manage physical data locations of storage device
KR20160146332A (ko) * 2015-06-12 2016-12-21 에스케이하이닉스 주식회사 복수의 저장 영역들을 포함하는 메모리 시스템 및 그것의 동작 방법
KR102491624B1 (ko) 2015-07-27 2023-01-25 삼성전자주식회사 데이터 저장 장치의 작동 방법과 상기 데이터 저장 장치를 포함하는 시스템의 작동 방법
CN105278876B (zh) * 2015-09-23 2018-12-14 华为技术有限公司 一种固态硬盘的数据擦除方法及装置
US10126981B1 (en) 2015-12-14 2018-11-13 Western Digital Technologies, Inc. Tiered storage using storage class memory
US9946596B2 (en) 2016-01-29 2018-04-17 Toshiba Memory Corporation Global error recovery system
US10223203B2 (en) * 2016-02-05 2019-03-05 Petros Koutoupis Systems and methods for managing digital data in a fault tolerant matrix
US10101939B2 (en) 2016-03-09 2018-10-16 Toshiba Memory Corporation Storage system having a host that manages physical data locations of a storage device
KR102512448B1 (ko) * 2016-03-28 2023-03-22 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작 방법
US9858003B2 (en) 2016-05-02 2018-01-02 Toshiba Memory Corporation Storage system that reliably stores lower page data
US20170364275A1 (en) * 2016-06-20 2017-12-21 Intel Corporation Technologies for managing end of life behavior for storage devices
CN106354680B (zh) * 2016-08-23 2019-01-18 北京北信源软件股份有限公司 快速识别移动存储设备的方法和装置
US20180095788A1 (en) 2016-10-04 2018-04-05 Pure Storage, Inc. Scheduling operations for a storage device
EP3485362B1 (en) * 2016-10-04 2021-08-11 Pure Storage, Inc. Maintaining data associated with a storage device related applications
JP6797727B2 (ja) * 2017-03-21 2020-12-09 キオクシア株式会社 半導体記憶装置
JP6779838B2 (ja) * 2017-06-28 2020-11-04 キオクシア株式会社 メモリシステムおよび制御方法
US11537389B2 (en) 2017-12-12 2022-12-27 Infineon Technologies LLC Memory devices, systems, and methods for updating firmware with single memory device
US10552145B2 (en) * 2017-12-12 2020-02-04 Cypress Semiconductor Corporation Memory devices, systems, and methods for updating firmware with single memory device
EP3506143B1 (en) * 2017-12-27 2024-02-14 Siemens Aktiengesellschaft Interface for a hardware security module
CN108228377B (zh) * 2017-12-29 2020-07-07 华中科技大学 一种面向磁盘故障检测的smart阈值优化方法
KR20190090634A (ko) * 2018-01-25 2019-08-02 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
EP3685271A4 (en) * 2018-01-29 2021-05-12 Hewlett-Packard Development Company, L.P. VALIDITY OF RECORDS STORED IN MEMORY
CN108419300B (zh) * 2018-02-12 2021-06-18 宇龙计算机通信科技(深圳)有限公司 一种无线通信方法和设备
KR102524916B1 (ko) * 2018-03-13 2023-04-26 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
CN108509154B (zh) * 2018-03-31 2021-07-13 深圳忆联信息系统有限公司 一种根据坏块分布动态重组raid的方法和装置
US10761773B2 (en) * 2018-04-02 2020-09-01 Micron Technology, Inc. Resource allocation in memory systems based on operation modes
US10446254B1 (en) * 2018-05-03 2019-10-15 Western Digital Technologies, Inc. Method for maximizing power efficiency in memory interface block
KR102620255B1 (ko) * 2018-05-18 2024-01-04 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
JP2019211861A (ja) 2018-05-31 2019-12-12 東芝メモリ株式会社 メモリシステム
US10782902B2 (en) 2018-08-27 2020-09-22 Seagate Technology Llc Device parameter tuning
US10956071B2 (en) 2018-10-01 2021-03-23 Western Digital Technologies, Inc. Container key value store for data storage devices
US10769062B2 (en) 2018-10-01 2020-09-08 Western Digital Technologies, Inc. Fine granularity translation layer for data storage devices
JP2020071632A (ja) * 2018-10-31 2020-05-07 レノボ・シンガポール・プライベート・リミテッド 情報処理装置、制御方法、及びプログラム
US10740231B2 (en) 2018-11-20 2020-08-11 Western Digital Technologies, Inc. Data access in data storage device including storage class memory
KR20200068259A (ko) * 2018-12-05 2020-06-15 에스케이하이닉스 주식회사 컨트롤러 및 컨트롤러의 동작방법
KR102674538B1 (ko) * 2019-02-28 2024-06-13 엘지전자 주식회사 디지털 디바이스 및 그 제어 방법
JP2020155174A (ja) 2019-03-19 2020-09-24 キオクシア株式会社 メモリシステム
US20210011732A1 (en) * 2019-07-09 2021-01-14 MemryX Inc. Matrix Data Reuse Techniques in Processing Systems
KR20210044564A (ko) * 2019-10-15 2021-04-23 삼성전자주식회사 스토리지 장치 및 그것의 가비지 컬렉션 방법
US11016905B1 (en) 2019-11-13 2021-05-25 Western Digital Technologies, Inc. Storage class memory access
US11087801B1 (en) * 2020-02-06 2021-08-10 Micron Technology, Inc. Configuring a host interface of a memory device based on mode of operation
US11243896B2 (en) 2020-03-25 2022-02-08 Micron Technology, Inc. Multiple pin configurations of memory devices
US11249921B2 (en) 2020-05-06 2022-02-15 Western Digital Technologies, Inc. Page modification encoding and caching
CN111708489B (zh) * 2020-05-26 2021-08-24 苏州浪潮智能科技有限公司 一种提高硬盘服务质量的方法和设备
JP7457248B2 (ja) * 2020-05-27 2024-03-28 株式会社バッファロー 記憶装置
US20230289257A1 (en) * 2020-08-06 2023-09-14 Mitsubishi Electric Corporation Data recorder and method for using data recorder
US11500564B2 (en) * 2021-01-20 2022-11-15 Micron Technology, Inc. Grouping blocks based on power cycle and power on time
KR20220130409A (ko) * 2021-03-18 2022-09-27 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US20240143423A1 (en) * 2022-11-02 2024-05-02 Infineon Technologies Ag Using training data for link reliability test and predictive maintenance

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08202502A (ja) * 1995-01-25 1996-08-09 Matsushita Electric Ind Co Ltd 記録再生装置
CN101202081A (zh) * 2006-10-25 2008-06-18 索尼株式会社 介质驱动装置及其操作方法、信息处理装置及其记录再现存取方法
JP2008305061A (ja) * 2007-06-06 2008-12-18 Panasonic Corp メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム
JP2009217603A (ja) * 2008-03-11 2009-09-24 Toshiba Corp メモリシステム

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0778102A (ja) 1993-09-08 1995-03-20 Hitachi Ltd 擬似cd−rom装置
JP2000099338A (ja) 1998-09-21 2000-04-07 Ricoh Co Ltd コンピュータ読み取り可能な情報記録媒体
US6529992B1 (en) 1999-07-26 2003-03-04 Iomega Corporation Self-contained application disk for automatically launching application software or starting devices and peripherals
JP2002351621A (ja) 2001-05-30 2002-12-06 Toshiba Corp 複数デバイスとして認識されるドライブ装置と光ディスクドライブ装置及びこれらの方法
JP4909383B2 (ja) 2002-10-03 2012-04-04 株式会社アイ・オー・データ機器 ハードディスク管理装置
JP3767818B2 (ja) 2002-10-28 2006-04-19 株式会社サスライト 着脱式デバイス及びプログラムの起動方法
JP2005190075A (ja) 2003-12-25 2005-07-14 I-O Data Device Inc リムーバブルメディア装置およびその上位装置、ならびに、プログラムおよびその記録媒体
JP3766429B2 (ja) 2005-08-04 2006-04-12 株式会社サスライト 着脱式デバイス
US7861122B2 (en) 2006-01-27 2010-12-28 Apple Inc. Monitoring health of non-volatile memory
EP2024839B1 (en) 2006-05-15 2014-07-02 SanDisk Technologies Inc. Non-volatile memory system with end of life calculation
JP4487978B2 (ja) * 2006-06-28 2010-06-23 セイコーエプソン株式会社 半導体記憶装置管理システム、プログラム、半導体記憶装置の管理方法
JP2008090477A (ja) * 2006-09-29 2008-04-17 Toshiba Corp 情報記録装置、情報処理装置および書き込み制御方法
JP2008090539A (ja) 2006-09-29 2008-04-17 Toshiba Corp メモリカード、周辺装置及び主装置
JP5171840B2 (ja) 2006-11-24 2013-03-27 サンドフォース インコーポレイテッド メモリの寿命を縮める動作を遅延させる方法及びストレージシステム
TW200837551A (en) 2007-03-02 2008-09-16 A Data Technology Co Ltd Storage device capable of cooperating to adjust reliability, method for establishing and input data thereof
US20110264842A1 (en) * 2007-06-22 2011-10-27 Masahiro Nakanishi Memory controller, nonvolatile memory device, access device, and nonvolatile memory system
JP4507005B2 (ja) * 2007-10-25 2010-07-21 Necアクセステクニカ株式会社 無線通信システム,無線通信方法及びプログラム
JP4987962B2 (ja) 2008-02-29 2012-08-01 株式会社東芝 情報処理装置及び不揮発性半導体メモリドライブ
US8706950B2 (en) * 2008-03-01 2014-04-22 Kabushiki Kaisha Toshiba Memory system
US7721166B2 (en) 2008-03-27 2010-05-18 Skymedi Corporation Method for managing defect blocks in non-volatile memory
US8495348B2 (en) 2008-06-26 2013-07-23 Lsi Corporation Efficient root booting with solid state drives and redirect on write snapshots
TW201019333A (en) 2008-11-12 2010-05-16 Skymedi Corp Defect processing method for multi-channel flash memory storage device
US8041991B2 (en) 2008-11-18 2011-10-18 Lsi Corporation System and method for recovering solid state drive data
JP5275052B2 (ja) 2009-01-08 2013-08-28 株式会社東芝 不揮発性半導体記憶装置
US8284601B2 (en) 2009-04-01 2012-10-09 Samsung Electronics Co., Ltd. Semiconductor memory device comprising three-dimensional memory cell array
KR101759926B1 (ko) 2009-07-23 2017-07-21 삼성전자주식회사 메모리 반도체 장치, 그 제조 방법 및 동작 방법
US8230255B2 (en) * 2009-12-15 2012-07-24 International Business Machines Corporation Blocking write acces to memory modules of a solid state drive
EP2745203B1 (en) 2011-08-19 2016-09-21 Kabushiki Kaisha Toshiba Information processing apparatus

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08202502A (ja) * 1995-01-25 1996-08-09 Matsushita Electric Ind Co Ltd 記録再生装置
CN101202081A (zh) * 2006-10-25 2008-06-18 索尼株式会社 介质驱动装置及其操作方法、信息处理装置及其记录再现存取方法
JP2008305061A (ja) * 2007-06-06 2008-12-18 Panasonic Corp メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム
JP2009217603A (ja) * 2008-03-11 2009-09-24 Toshiba Corp メモリシステム

Also Published As

Publication number Publication date
US11880267B2 (en) 2024-01-23
EP2684136A1 (en) 2014-01-15
US8631191B2 (en) 2014-01-14
TW201239622A (en) 2012-10-01
US9785494B2 (en) 2017-10-10
CN103403691A (zh) 2013-11-20
US20130212323A1 (en) 2013-08-15
US8683117B2 (en) 2014-03-25
US20210141681A1 (en) 2021-05-13
US10338985B2 (en) 2019-07-02
US20120284453A1 (en) 2012-11-08
US20140223088A1 (en) 2014-08-07
US9201602B2 (en) 2015-12-01
US10936394B2 (en) 2021-03-02
US20230106392A1 (en) 2023-04-06
EP2684136B1 (en) 2020-04-08
US20180004587A1 (en) 2018-01-04
US8667216B2 (en) 2014-03-04
US20130212325A1 (en) 2013-08-15
US8756367B2 (en) 2014-06-17
KR101475645B1 (ko) 2014-12-22
US11544131B2 (en) 2023-01-03
US20160041858A1 (en) 2016-02-11
US20190266038A1 (en) 2019-08-29
KR20130120529A (ko) 2013-11-04
US20130212324A1 (en) 2013-08-15
JP2012198869A (ja) 2012-10-18
WO2012120717A1 (en) 2012-09-13
EP2684136A4 (en) 2014-08-13
JP5002719B1 (ja) 2012-08-15

Similar Documents

Publication Publication Date Title
CN103403691B (zh) 信息处理装置、外部储存装置、主机装置、中继装置、信息处理装置的控制方法
US11726661B2 (en) Information processing apparatus, method for controlling information processing apparatus, non-transitory recording medium storing control tool, host device, non-transitory recording medium storing performance evaluation tool, and performance evaluation method for external memory device
KR102612842B1 (ko) 메모리 시스템 내 펌웨어를 유지하는 방법 및 장치
TWI616807B (zh) 資料寫入方法以及儲存控制器
JP5668163B2 (ja) 情報処理装置
KR102691776B1 (ko) 메모리 시스템에서 멀티 스트림 동작을 제공하는 방법 및 장치
US20100095149A1 (en) Data storage method and device, and system therefor
JP7362863B2 (ja) 情報処理装置
US20220342744A1 (en) Storage devices of performing metadata management and methods of operating the same

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20170801

Address after: Tokyo, Japan, Japan

Patentee after: Toshiba Storage Corporation

Address before: Tokyo, Japan, Japan

Patentee before: Toshiba Corporation

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160406

Termination date: 20200926

CF01 Termination of patent right due to non-payment of annual fee