CN107122317B - 数据存储装置 - Google Patents

数据存储装置 Download PDF

Info

Publication number
CN107122317B
CN107122317B CN201610620110.7A CN201610620110A CN107122317B CN 107122317 B CN107122317 B CN 107122317B CN 201610620110 A CN201610620110 A CN 201610620110A CN 107122317 B CN107122317 B CN 107122317B
Authority
CN
China
Prior art keywords
host
request
task
write
failure information
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.)
Active
Application number
CN201610620110.7A
Other languages
English (en)
Other versions
CN107122317A (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.)
SK Hynix Inc
Original Assignee
SK Hynix Inc
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 SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN107122317A publication Critical patent/CN107122317A/zh
Application granted granted Critical
Publication of CN107122317B publication Critical patent/CN107122317B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • 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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • 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]

Abstract

本发明提供一种数据存储装置,其包括:主机接口单元,其用于基于从主机装置接收的请求生成主机请求;控制单元,其用于基于主机请求生成任务;以及存储器控制单元,其用于基于任务控制非易失性存储器装置,其中,当确定非易失性存储器装置的操作已经失败时,存储器控制单元将关于失败的操作的失败信息传输至主机接口单元。

Description

数据存储装置
相关申请的交叉引用
本申请要求于2016年2月24日向韩国知识产权局提交的申请号为 10-2016-0021943的韩国申请的优先权,其全部公开通过引用并入本文。
技术领域
各种实施例总体涉及一种包括作为存储介质的非易失性存储器装置的数据存储装置。
背景技术
近来,计算机环境范例已经转变为普适计算,使得能够随时随地使用计算机系统。由此,便携式电子装置,诸如移动电话、数码相机以及笔记本电脑的使用已经快速地增加。一般地,这样的便携式电子装置使用数据存储装置,其中数据存储装置使用存储器装置。数据存储装置用于存储将在便携式电子装置中使用的数据。
使用存储器装置的数据存储装置提供的优点是:由于不具有机械驱动部件,所以稳定性和持久性优良、信息存取速度高并且功耗小。具有这样的优点的数据存储装置包括通用串行总线(USB)存储器装置、具有各种接口的存储卡、通用闪速存储(UFS)装置以及固态驱动器(SSD)。
发明内容
各种实施例涉及一种即使写入操作失败也能够顺畅地处理入列的任务的数据存储装置。
而且,各种实施例涉及一种能够有效地执行由于写入操作失败产生的错误的处理的数据存储装置。
在一个实施例中,数据存储装置可以包括:主机接口单元,其用于基于从主机装置接收的请求生成主机请求;控制单元,其用于基于主机请求生成任务;以及存储器控制单元,其用于基于任务控制非易失性存储器装置,其中,当确定非易失性存储器装置的操作已经失败时,存储器控制单元将关于失败的操作的失败信息传输至主机接口单元。
在一个实施例中,数据存储装置的操作方法可以包括:通过主机接口单元基于从主机装置接收的请求生成主机请求;通过控制单元基于主机请求生成任务;通过存储器控制单元基于任务控制非易失性存储器装置;以及当非易失性存储器装置的操作已经失败时,通过存储器控制单元生成关于失败的操作的失败信息。
在一个实施例中,数据存储装置可以包括:主机接口单元,其用于在从主机装置传输用于第一逻辑地址的写入请求和用于第二逻辑地址的读取请求时生成用于第一逻辑地址的第一主机请求和用于第二逻辑地址的第二主机请求,并且将第一主机请求和第二主机请求入列至请求队列中;控制单元,其用于基于第一主机请求和第二主机请求生成第一任务和第二任务,并且将第一任务和第二任务入列至任务队列中;以及存储器控制单元,其用于基于第一任务和第二任务控制非易失性存储器装置,其中,当确定根据第一任务控制的非易失性存储器装置的操作已经失败时,存储器控制单元将关于失败的操作的失败信息传输至主机接口单元,并且将根据第二任务控制的非易失性存储器装置的操作结果传输至控制单元。
根据实施例,可以快速执行数据存储装置的写入操作。
附图说明
图1是示出根据本发明的实施例的数据存储装置的框图。
图2是示出图1所示的数据存储装置的内部块之中传输的数据结构的表。
图3是示出根据本发明的实施例的用于基于写入失败信息将主机请求入列至请求队列中的主机接口单元的操作的简图。
图4是示出根据本发明的实施例的用于基于写入失败信息将主机请求入列至请求队列中的主机接口单元的异常处理的简图。
图5是示出根据本发明的另一个实施例的用于基于写入失败信息将主机请求入列至请求队列中的主机接口单元的另一异常处理的简图。
图6是示出根据本发明的实施例的包括固态驱动器(SSD)的数据处理系统的框图。
图7是示出图6所示的固态驱动器(SSD)控制器的示例的框图。
图8是示出根据本发明的实施例的包括数据存储装置的计算机系统的框图。
图9是示出根据本发明的实施例的包括在数据存储装置中的非易失性存储器装置的框图。
具体实施方式
在本发明中,在结合附图阅读下列实施例后,实现本发明的优点、特征、方法将变得更清楚。然而,本发明可以不同的形式呈现且不应被解释为限于在本文中提出的实施例。而是,提供这些实施例以详细地描述本发明至本发明所属领域技术人员能够实施本发明的程度。
本文中应理解,本发明的实施例不限于附图所示的细节并且附图不一定按比例且在一些情况下,为了更清楚地示出本发明的某些特征,比例可能已经被扩大。虽然本文使用了特定的术语,但是应理解为本文使用的术语仅用于描述特定的实施例,而不意在限制本发明的范围。
在本文中使用时,术语“和/或”包括相关列出项目的一个或多个的任何和所有组合。应理解,当一个元件被称为“在另一个元件上”、“连接至”或“联接至”另一个元件时,其可以直接在另一个元件上、连接或联接至另一个元件,或者存在中间元件。如在本文中使用的,单数形式意在也包括复数形式,除非上下文有清楚的相反指示。此外,将进一步理解的是,当在本说明书中使用时,术语“包括”、“包括有”、“包含”和/或“包含有”是指存在至少一个提及的特征、步骤、操作和/或元件,但不排除一个或多个其它特征、步骤、操作和/或元件的存在或增加。
以下,将通过实施例的各种实例参照附图在下文中描述数据存储装置。
图1是示出根据本发明的实施例的数据存储装置100的框图。图2 是示出说明图1所示的数据存储装置100的内部块之中传输的数据结构的表的简图。
参照图1,数据存储装置100可以存储待被主机装置400访问的数据,主机装置例如为移动电话、MP3播放器、笔记本电脑、台式电脑、游戏机、电视、车载信息娱乐系统等。数据存储装置100也可以称作存储器系统。
数据存储装置100可以根据表示相对于主机装置400的传输协议的主机接口HIF制造为各种存储装置中的任一种,诸如固态驱动器 (SSD),MMC、eMMC、RS-MMC和微型-MMC形式的多媒体卡,SD、小型-SD和微型-SD形式的安全数字卡,通用串行总线(USB)存储装置,通用闪速存储(UFS)装置,个人计算机存储卡国际协会(PCMCIA) 卡型存储装置,外围组件互连(PCI)卡型存储装置,高速PCI(PCI-E) 卡型存储装置,标准闪存(CF)卡,智能媒体卡,记忆棒等。
数据存储装置100可以制造为各种封装类型中的任一种,诸如封装堆叠(POP)、系统级封装(SIP)、片上系统(SOC)、多芯片封装(MCP)、板上芯片(COB)、晶片级制造封装(WFP)和晶片级堆叠封装(WSP)。
数据存储装置100可以包括控制器200和非易失性存储器装置300。
非易失性存储器装置300可以作为数据存储装置100的存储介质操作。非易失性存储器装置300可以由各种非易失性存储器装置中的任一种构造,诸如NAND闪速存储器装置、NOR闪速存储器装置、使用铁电电容的铁电随机存取存储器(FRAM)、使用隧道磁阻(TMR)层的磁随机存取存储器(MRAM)、使用硫族化物合金的相变随机存取存储器(PCRAM)和使用过渡金属氧化物的电阻式随机存取存储器 (RERAM)。铁电随机存取存储器(FRAM)、磁随机存取存储器 (MRAM)、相变随机存取存储器(PCRAM)和电阻式随机存取存储器(RERAM)是能够随机访问存储器单元的非易失性随机存取存储器装置。非易失性存储器装置300可以由NAND闪速存储器装置和上述各种类型的非易失性随机存取存储器装置的组合构造。
控制器200可以包括主机接口单元210、控制单元220、工作存储器 230、存储器控制单元240、缓冲存储器250、请求队列260以及任务队列270。
主机接口单元210可以接合主机装置400和数据存储装置100。例如,主机接口单元210可以通过使用诸如例如通用串行总线(USB)、通用闪速存储器(UFS)、多媒体卡(MMC)、并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、外围组件互连(PCI)和高速PCI(PCI-E)协议的标准传输协议中的任一个与主机装置400通信。
主机接口单元210可以将基于由主机装置400传输的请求生成的主机请求HRQ插入或入列至请求队列260中。主机请求HRQ可以是或者包括控制单元220执行以处理从主机装置400传输的请求的任务(或者命令)。当从主机装置400传输写入请求时,主机接口单元210可以将与写入请求一起传输的数据(下文,也称作请求写入的数据)存储在缓冲存储器250中。
参照图2,主机请求HRQ可以配置为“OP(LA/BMA)”的信息结构。主机请求HRQ可以包括关于请求存取的逻辑地址LA的操作OP是什么的信息。例如,主机请求HRQ可以包括操作OP是写入操作W还是读取操作R的信息。当请求存取的逻辑地址LA待执行写入操作W时,主机请求HRQ可以选择性地包括关于其中存储请求写入的数据的缓冲存储器地址BMA的信息。
再次参照图1,主机接口单元210可以基于从存储器控制单元240 传输的写入失败信息WFI将主机请求HRQ入列至请求队列260中,如同从主机装置400传输了新请求,即使从主机装置400没有传输请求。也就是说,主机接口单元210可以基于写入失败信息WFI将主机请求HRQ 入列至请求队列260中,使得当非易失性存储器装置300的写入操作已经失败时,请求写入的数据的写入操作可以重复,而不是处理由于写入操作失败发生的错误。
控制单元220可以控制控制器200的一般操作。控制单元220可以例如驱动装载于控制器200中的工作存储器230上的代码类型的指令或者算法(例如,软件),并且可以控制控制器200中的功能块的操作。控制单元220可以使入列至请求队列260中的主机请求HRQ离队。控制单元220可以分析并处理离队的主机请求HRQ。
控制单元220可以基于离队的主机请求HRQ生成任务TSK。控制单元220可将基于离队的主机请求HRQ生成的任务TSK插入或者入列至任务队列270中。任务TSK可以表示待被存储器控制单元240处理以控制非易失性存储器装置300的工作被写入的工作顺序。
再次参照图2,任务TSK可以配置为“OP(LA/PA/BMA)”的信息结构。任务TSK可以包括定义对应于请求存取的逻辑地址LA的物理地址PA(例如,非易失性存储器装置300的地址)的操作OP的信息。例如,操作OP可以包括写入操作W、读取操作R或者读取重试操作RR。当对对应于请求存取的逻辑地址LA的物理地址PA待执行写入操作W 时,任务TSK可以选择性地包括关于存储请求写入的数据的缓冲存储器地址BMA的信息。
虽然未示出,但物理地址PA的操作OP可以包括非易失性存储器装置300的规范中限定的操作。例如,操作OP可以是或者包括擦除操作、状态检查操作、一般读取操作之外的特殊读取操作(例如,诸如缓存读取操作和多平面读取操作)和一般写入操作之外的特殊写入操作(例如,多平面写入操作)。
再次参照图1,工作存储器230可以存储待被控制单元220驱动的软件。工作存储器230可以存储驱动软件所必要的数据。工作存储器230 可以由诸如例如动态随机存取存储器(DRAM)或者静态随机存取存储器(SRAM)的随机存取存储器配置。
存储器控制单元240可以根据控制单元220生成的任务TSK控制非易失性存储器装置300。存储器控制单元240可以生成用于控制非易失性存储器装置300的操作的控制信号并将生成的控制信号提供至非易失性存储器装置300。例如,存储器控制单元240可以生成用于控制非易失性存储器装置300的操作的命令、地址和时钟信号。存储器控制单元240也可以称作存储器接口单元。
存储器控制单元240可以从非易失性存储器装置300提供根据任务 TSK控制的非易失性存储器装置300执行的操作的结果或者状态。存储器控制单元240可以检查根据任务TSK控制的非易失性存储器装置300 执行的操作的结果或者状态。为了随后的操作,存储器控制单元240 可以将非易失性存储器装置300的操作的结果或者状态传输至控制单元220和主机接口单元210。
当确定非易失性存储器装置300的写入操作(也称作编程操作)已经失败时,存储器控制单元240可以生成关于失败的写入操作的信息作为写入失败信息WFI。存储器控制单元240可以将写入失败信息WFI传输至主机接口单元210。
再次参照图2,写入失败信息WFI可以配置为“WFI(LA/BMA)”的信息结构。写入失败信息WFI可以包括关于写入失败的逻辑地址LA 和其中存储写入失败的数据的缓冲存储器地址BMA的信息。
缓冲存储器250可以暂时地存储将从主机装置400传输至非易失性存储器装置300的数据,或者将从非易失性存储器装置300传输至主机装置400的数据。缓冲存储器250可以由诸如例如DRAM或者SRAM的随机存取存储器配置。
图3是示出根据本发明的实施例的用于基于写入失败信息WFI将主机请求HRQ入列至请求队列260中的主机接口单元210的操作的简图。
在说明图3时,假定从主机装置400顺序地接收逻辑地址L100和 L800的写入请求和逻辑地址L900和L930的读取请求并且然后将每个请求的主机请求HRQ入列至请求队列260中。另外,假定入列至任务队列270中的逻辑地址L100的任务W(L100/P900/B1)作为失败F完成并且入列至任务队列270中的逻辑地址L800的任务W(L800/P200/B2)正在非易失性存储器装置300中执行。
当确定任务W(L100/P900/B1)的非易失性存储器装置300的写入操作已经失败时,存储器控制单元240可以生成逻辑地址L100的写入失败信息WFI。生成的写入失败信息WFI可以包括关于写入失败的逻辑地址L100和其中存储写入失败的数据的缓冲存储器地址B1的信息。
主机接口单元210可以基于写入失败信息WFI(L100/B1)将逻辑地址L100的主机请求W(L100/B1)入列EQ至请求队列260中。换言之,虽然未从主机装置400接收逻辑地址L100的额外请求,但是主机接口单元210可以将主机请求W(L100/B1)入列EQ在最后入列的主机请求R (L930)之后,如同已经从主机装置400接收了逻辑地址L100的新请求。
控制单元220可以使最后入列的主机请求W(L100/B1)离队DQ。控制单元220可以基于离队的主机请求W(L100/B1)生成任务W (L100/P999/B1)。为了防止写入失败再次发生,控制单元220可以生成不同于失败的任务W(L100/P900/B1)的物理地址的物理地址PA的新任务W(L100/P999/B1)。控制单元220可以将生成的任务W (L100/P999/B1)入列EQ至任务队列270中。
通过这样的操作,当非易失性存储器装置300的写入操作已经失败时,请求写入的数据的写入操作可以重复,而不是处理由于写入操作失败发生的错误。
图4是示出根据本发明的实施例的用于基于写入失败信息WFI将主机请求HRQ入列至请求队列260中的主机接口单元210的异常处理的简图。
在说明图4时,假定以所述顺序顺次地从主机装置400接收逻辑地址L100和L800的写入请求和逻辑地址L900和L930的读取请求。然后,每个请求的主机请求HRQ入列至请求队列260中。另外,假定入列至任务队列270中的逻辑地址L100的任务W(L100/P900/B1)作为失败F完成并且入列至任务队列270中的逻辑地址L800的任务W (L800/P200/B2)正在非易失性存储器装置300中执行。此外,假定在通知任务W(L100/P900/B1)的写入操作失败的写入失败信息WFI传输至主机接口单元210之前,从主机装置400重新接收逻辑地址L100的写入请求。
当确定任务W(L100/P900/B1)的非易失性存储器装置300的写入操作已经失败时,存储器控制单元240可以生成逻辑地址L100的写入失败信息WFI。生成的写入失败信息WFI可以包括关于写入失败的逻辑地址L100和其中存储写入失败的数据的缓冲存储器地址B1的信息。
当在通知任务W(L100/P900/B1)的写入操作失败的写入失败信息WFI传输至主机接口单元210之前,从主机装置400重新接收逻辑地址L100的写入请求时,先前接收的写入数据应当处理为无效数据并且重新接收的写入数据应当作为有效数据存储。因此,主机接口单元210 可以忽略逻辑地址L100的写入失败信息WFI(L100/B1),使得重新接收的写入数据可以代替先前接收的写入数据存储。
图5是示出根据本发明的实施例的用于基于写入失败信息WFI将主机请求HRQ入列至请求队列260中的主机接口单元210的另一异常处理的简图。
在说明图5时,假定以所述顺序顺次地从主机装置400接收逻辑地址L100的写入请求、逻辑地址L100的读取请求以及逻辑地址L800的写入请求。然后,每个接收的请求的主机请求HRQ入列至请求队列260 中。另外,假定入列至任务队列270中的逻辑地址L100的任务W(L100/P900/B1)和任务R(L100/P900/B3)中的每个作为失败F完成并且入列至任务队列270中的逻辑地址L800的任务W(L800/P200/B2) 正在非易失性存储器装置300中执行。
当确定非易失性存储器装置300的读取操作已经失败时,控制单元 220可以对相同的逻辑地址LA重试读取操作。这样的操作被定义为读取重试操作RR。为了确保执行读取失败的逻辑地址LA的读取重试操作,即使未从主机装置400接收读取请求,控制单元220也可以生成任务TSK。此时,控制单元220可以确定对应于读取失败的逻辑地址LA 的物理地址PA是否改变。因为物理地址PA(例如,P300)未改变,如图5所示,控制单元220可以在基于主机请求W(L800/B2)入列的任务 W(L800/P200/B2)之后入列读取失败的逻辑地址L100的新任务RR (L100/P900/B3)。
当确定任务W(L100/P900/B1)的非易失性存储器装置300的写入操作已经失败时,存储器控制单元240可以生成逻辑地址L100的写入失败信息WFI。生成的写入失败信息WFI可以包括关于写入失败的逻辑地址L100和其中存储写入失败的数据的缓冲存储器地址B1的信息。
主机接口单元210可以基于写入失败信息WFI(L100/B1)将逻辑地址L100的主机请求W(L100/B1)入列EQ至请求队列260中。换言之,虽然未从主机装置400接收逻辑地址L100的额外请求,但是主机接口单元210可以将主机请求W(L100/B1)入列EQ在最后入列的主机请求W (L800/B2)之后(入列至最后),如同已经从主机装置400接收了逻辑地址L100的新请求。
控制单元220可以将最后入列的主机请求W(L100/B1)离队DQ。控制单元220可以基于离队的主机请求W(L100/B1)生成任务W (L100/P999/B1)。为了防止写入失败再次发生,控制单元220可以生成不同于失败的任务W(L100/P900/B1)的物理地址PA的新任务W(L100/P999/B1)。控制单元220可以将生成的任务W(L100/P999/B1) 入列EQ至任务队列270中。
采用新任务W(L100/P999/B1),其中存储写入失败的数据的物理地址PA的位置可以例如从物理地址P900改变至物理地址P999。当读取失败的逻辑地址L100的读取重试操作也已经失败并且由此应当重复读取重试操作时,控制单元220可以确定对应于读取失败的逻辑地址LA 的物理地址PA是否改变并且基于确定结果生成新任务TSK。当物理地址PA例如从物理地址P900改变至物理地址P999时,控制单元220可以将任务RR(L100/P999/B3)重新入列至任务队列270中,使得对其中存储读取失败的数据的新的物理地址P999执行读取重试操作。
图6是示出根据实施例的包括固态驱动器(SSD)2200的数据处理系统2000的框图。
参照图6,数据处理系统2000可以包括主机装置2100和固态驱动器 (SSD)2200。
SSD 2200可以包括SSD控制器2210、缓冲存储器装置2220、非易失性存储器装置2231-223n、电源2240、信号连接器2250和电源连接器 2260。
SSD控制器2210可以响应于来自主机装置2100的请求访问非易失性存储器装置2231-223n。
缓冲存储器装置2220可以暂时地存储将存储在非易失性存储器装置2231-223n中的数据。此外,缓冲存储器装置2220可以暂时地存储从非易失性存储器装置2231-223n读出的数据。暂时地存储在缓冲存储器装置2220中的数据可以在SSD控制器2210的控制下传输至主机装置 2100或者非易失性存储器装置2231-223n。
非易失性存储器装置2231-223n可以用作SSD 2200的存储介质。非易失性存储器装置2231-223n可以分别通过多个通道CH 1-CH n与SSD 控制器2210联接。一个或多个非易失性存储器装置可以联接至一个通道。联接至一个通道的非易失性存储器装置可以联接至同一个信号总线和数据总线。
电源2240可以将通过电源连接器2260输入的电源PWR提供至SSD 2200的内部。电源2240可以包括辅助电源2241。当发生突然的断电时,辅助电源2241可以供给电力以使SSD2200正常地停止。辅助电源2241 可以包括具有能够对电源PWR进行充电的大电容量的电容器。
SSD控制器2210可以通过信号连接器2250与主机装置2100交换信号SGL。信号SGL可以包括命令、地址、数据等。信号连接器2250可以根据主机装置2100和SSD 2200之间的接口方案,由诸如并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、外围组件互连(PCI)和高速PCI(PCI-E) 协议中的一个的连接器配置。
图7是示出图6所示的固态驱动器(SSD)控制器2210的框图。
参考图7,SSD控制器2210可以包括存储器接口单元2211、主机接口单元2212、错误校正码(ECC)单元2213、控制单元2214以及随机存取存储器(RAM)2215。
存储器接口单元2211可以向非易失性存储器装置2231-223n提供控制信号,诸如指令和地址。另外,存储器接口单元2211可以与非易失性存储器装置2231-223n交换数据。存储器接口单元2211可以在控制单元2214的控制下将从缓冲存储器装置2220传输的数据分布到各个通道CH1-CHn。此外,存储器接口单元2211可以在控制单元2214的控制下,将从非易失性存储器装置2231-223n读出的数据传输至缓冲存储器装置2220。
当确定非易失性存储器装置2231-223n的写入(或者编程)操作已经失败时,存储器接口单元2211可以生成关于失败的写入操作的信息,作为写入失败信息(WFI),并且可以将生成的写入失败信息(WFI) 传输至主机接口单元2212。
主机接口单元2212可以提供对应于特定协议的与主机装置2100的接口。例如,主机接口单元2212可以通过并行高级技术附件(PATA)、串行高级技术附件(SATA)、小型计算机系统接口(SCSI)、串列SCSI (SAS)、外围组件互连(PCI)、高速PCI(PCI-E)和通用闪速存储(UFS) 协议中的一个与主机装置2100通信。此外,主机接口单元2212可以执行支持主机装置2100将SSD 2200识别为硬盘驱动器(HDD)的磁盘仿真功能。
主机接口单元2212可以基于从存储器接口单元2211传输的写入失败信息(WFI)将主机请求传输至控制单元2214,如同从主机装置2100 传输了新请求,即使从主机装置2100没有传输请求。
控制单元2214可以分析并处理从主机装置2100输入的信号SGL。控制单元2214可以根据用于驱动SSD 2200的固件或者软件控制缓冲存储器装置2220和非易失性存储器装置2231-223n的操作。随机存取存储器2215可以用作驱动固件或者软件的工作存储器。
错误校正码(ECC)单元2213可以在存储在缓冲存储器装置2220 中的数据之中生成待传输至非易失性存储器装置2231-223n的校验数据。生成的校验数据可以与数据一起存储在非易失性存储器装置 2231-223n中。错误校正码(ECC)单元2213可以检测从非易失性存储器装置2231-223n读出的数据的错误。当检测的错误在可校正范围内时,错误校正码(ECC)单元2213可以校正检测的错误。
图8是示出根据实施例的包括数据存储装置3300的计算机系统 3000的框图。
参照图8,计算机系统3000包括电联接至系统总线3700的网络适配器3100、中央处理单元(CPU)3200、数据存储装置3300、随机存取存储器(RAM)3400、只读存储器(ROM)3500和用户界面3600。数据存储装置3300可以由图1所示的数据存储装置100或者图6所示的SSD 2200构造。
网络适配器3100可以提供计算机系统3000与外部网络之间的接口。中央处理单元3200可以执行驱动常驻在RAM 3400处的操作系统或者应用程序的一般计算处理。
数据存储装置3300可以存储计算机系统3000中需要的一般数据。例如,用于驱动计算机系统3000的操作系统、应用程序、各种程序模块、程序数据和用户数据可以存储在数据存储装置3300中。
RAM 3400可以用作计算机系统3000的工作存储器。在启动时,从数据存储装置3300读出的操作系统、应用程序、各种程序模块和驱动程序需要的程序数据可以载入RAM3400上。在操作系统被驱动之前激活的基本输入/输出系统(BIOS)可以存储在ROM 3500中。计算机系统3000和用户之间的信息交换可以通过用户界面3600实现。
图9是示出根据本发明的实施例的包括在数据存储装置中的非易失性存储器装置300的框图。
参照图9,非易失性存储器装置300可以包括存储器单元阵列310、行解码器320、数据读取/写入块330、列解码器340、电压发生器350和控制逻辑360。
存储器单元阵列310可以包括布置在字线WL 1-WL m和位线BL 1-BL n互相交错的区域处的存储器单元MC。
行解码器320可以通过字线WL 1-WL m与存储器单元阵列310联接。行解码器320可以根据控制逻辑360的控制操作。行解码器320可以解码外部装置(未示出)提供的地址。行解码器320可以基于解码结果选择和驱动字线WL 1-WL m。例如,行解码器320可以将由电压发生器 350提供的字线电压提供至字线WL 1-WL m。
数据读取/写入块330可以通过位线BL 1-BL n与存储器单元阵列310联接。数据读取/写入块330可以包括分别对应于位线BL 1-BL n的读取/写入电路RW 1-RW n。数据读取/写入块330可以根据控制逻辑360的控制而操作。数据读取/写入块330 可以根据操作模式作为写入驱动器或者感测放大器而操作。例如,在写入操作中,数据读取/写入块330 可以操作为写入驱动器,将外部装置提供的数据存储在存储器单元阵列310中。作为另一个示例,在读取操作中,数据读取/写入块330可以操作为感测放大器,从存储器单元阵列310读出数据。
列解码器340可以根据控制逻辑360的控制操作。列解码器340可以解码外部装置提供的地址。列解码器340可以基于解码的结果,将分别对应于位线BL 1-BL n的数据读取/写入块330的读取/写入电路RW 1-RW n与数据输入/输出线(或者数据输入/输出缓冲器)联接。
电压发生器350可以生成待在非易失性存储器装置300的内部操作中使用的电压。电压发生器350生成的电压可以施加于存储器单元阵列 310的存储器单元。例如,编程操作中生成的编程电压可以施加于待执行编程操作的存储器单元的字线。作为另一个示例,在擦除操作中生成的擦除电压可以施加于待执行擦除操作的存储器单元的阱区。作为再一个示例,读取操作中生成的读取电压可以施加于待执行读取操作的存储器单元的字线。
控制逻辑360可以基于外部装置提供的控制信号控制非易失性存储器装置300的一般操作。例如,控制逻辑360可以控制非易失性存储器装置300的操作,诸如非易失性存储器装置300的读取、写入和擦除操作。
尽管上面已经描述了各种实施例,但是,本领域技术人员应当理解,所述实施例仅为示例。因此,本文描述的数据存储装置不应限制为描述的实施例。
还应注意,在一些情况下,对相关领域技术人员显然的是,除非另有具体说明,否则结合一个实施例描述的特征或元件可以单独使用或者与另一个实施例的其它特征或元件组合使用。
尽管为了说明的目的已经描述了各种实施例,但对于本领域技术人员将明显的是,在不脱离如权利要求所限定的本发明的精神和范围的情况下可以做出各种改变和变型。

Claims (18)

1.一种数据存储装置,其包括:
非易失性存储器装置,其用于存储数据;以及
控制器,其用于控制将数据存储至所述非易失性存储器装置并且用于将所述数据存储装置联接到主机,
其中,所述控制器适于基于从主机装置接收的操作的请求生成主机请求,并且基于所述主机请求生成任务以控制所述非易失性存储器装置执行所述主机请求的操作;
其中,当所述非易失性存储器装置的操作已经失败时,所述控制器生成关于失败的操作的失败信息,将所述失败信息传输至所述控制器中的主机接口单元以生成另一主机请求并且基于所述另一主机请求生成另一任务,以重复所述主机请求的操作而不从所述主机接收另一个请求。
2.根据权利要求1所述的数据存储装置:
其中,所述控制器包括:
主机接口单元,其适于基于从所述主机接收的请求生成所述主机请求;
控制单元,其适于基于所述主机请求生成所述任务;以及
存储器控制单元,其适于基于所述任务控制非易失性存储器装置,其中,当确定所述非易失性存储器装置的操作已经失败时,所述存储器控制单元将所述失败信息传输至所述主机接口单元。
3.根据权利要求1所述的数据存储装置,其中所述失败信息包括写入失败信息。
4.根据权利要求3所述的数据存储装置,其中所述写入失败信息包括关于写入失败的逻辑地址和其中存储写入失败的数据的缓冲存储器地址的信息。
5.根据权利要求4所述的数据存储装置,其中当从所述主机装置接收逻辑地址的写入请求时,所述控制器适于:
生成所述逻辑地址的第一主机请求并且将所述第一主机请求入列至请求队列中;
基于所述第一主机请求生成第一任务并且将所述第一任务入列至任务队列中;以及
基于所述第一任务控制所述非易失性存储器装置。
6.根据权利要求5所述的数据存储装置,其中所述控制器基于所述写入失败信息生成第二主机请求并且将所生成的第二主机请求入列至所述请求队列中。
7.根据权利要求6所述的数据存储装置,其中,当在所述写入失败信息被接收之前从所述主机装置接收所述逻辑地址的新的写入请求时,控制器忽略所述写入失败信息。
8.一种数据存储装置,其包括:
主机接口单元,其适于在从主机装置传输第一逻辑地址的写入请求和第二逻辑地址的读取请求时生成所述第一逻辑地址的第一主机请求和所述第二逻辑地址的第二主机请求,以及将所述第一主机请求和所述第二主机请求入列至请求队列中;
控制单元,其适于基于所述第一主机请求和所述第二主机请求生成第一任务和第二任务,以及将所述第一任务和所述第二任务入列至任务队列中;以及
存储器控制单元,其适于基于所述第一任务和所述第二任务控制非易失性存储器装置,
其中,当确定根据所述第一任务控制的所述非易失性存储器装置的操作已经失败时,所述存储器控制单元将关于失败的操作的失败信息传输至所述主机接口单元,并且将根据所述第二任务控制的所述非易失性存储器装置的操作结果传输至所述控制单元。
9.根据权利要求8所述的数据存储装置,其中所述主机接口单元基于所述失败信息生成第三主机请求并且将所生成的第三主机请求入列至所述请求队列中。
10.根据权利要求9所述的数据存储装置,其中所述控制单元基于所述第三主机请求生成第三任务并且将所述第三任务入列至所述任务队列中。
11.根据权利要求10所述的数据存储装置,其中,当确定根据所述第二任务控制的所述非易失性存储器装置的操作已经失败时,所述控制单元生成第四任务使得所述第二逻辑地址的读取操作可以重复,并且将所述第四任务入列至所述任务队列中。
12.根据权利要求11所述的数据存储装置,其中所述控制单元确定对应于所述第二逻辑地址的物理地址由所述第三任务改变,并且基于确定结果生成所述第四任务。
13.一种数据存储装置的操作方法,其包括:
基于从主机装置接收的请求生成主机请求;
基于所述主机请求生成任务;
基于所述任务控制非易失性存储器装置;以及
当所述非易失性存储器装置的操作失败时,生成关于失败的操作的失败信息;
将所述失败信息传输至所述数据存储装置的控制器中的主机接口单元以生成另一主机请求;
基于所述另一主机请求生成另一任务;
基于所述另一任务控制所述非易失性存储器装置以重复所述主机装置请求的操作。
14.根据权利要求13所述的方法,其中所述失败信息包括写入失败信息。
15.根据权利要求14所述的方法,其中所述写入失败信息包括关于写入失败的逻辑地址和其中存储写入失败的数据的缓冲存储器地址的信息。
16.根据权利要求14所述的方法,其进一步包括,其中,当从所述主机装置接收逻辑地址的写入请求时,生成所述逻辑地址的第一主机请求并且将所述第一主机请求入列至请求队列中;
基于所述第一主机请求生成第一任务并且将所述第一任务入列至任务队列中;以及
基于所述第一任务控制所述非易失性存储器装置。
17.根据权利要求16所述的方法,其进一步包括:
基于所述写入失败信息生成第二主机请求;以及
将所生成的第二主机请求入列至所述请求队列中。
18.根据权利要求17所述的方法,其进一步包括:
当在所述写入失败信息被接收之前从所述主机装置接收所述逻辑地址的新的写入请求时,忽略所述写入失败信息。
CN201610620110.7A 2016-02-24 2016-07-29 数据存储装置 Active CN107122317B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2016-0021943 2016-02-24
KR1020160021943A KR102565918B1 (ko) 2016-02-24 2016-02-24 데이터 저장 장치 및 그것의 동작방법

Publications (2)

Publication Number Publication Date
CN107122317A CN107122317A (zh) 2017-09-01
CN107122317B true CN107122317B (zh) 2020-10-02

Family

ID=59629901

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610620110.7A Active CN107122317B (zh) 2016-02-24 2016-07-29 数据存储装置

Country Status (3)

Country Link
US (1) US10303378B2 (zh)
KR (1) KR102565918B1 (zh)
CN (1) CN107122317B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11755255B2 (en) 2014-10-28 2023-09-12 SK Hynix Inc. Memory device comprising a plurality of memories sharing a resistance for impedance matching
KR102358177B1 (ko) 2015-12-24 2022-02-07 에스케이하이닉스 주식회사 제어회로 및 제어회로를 포함하는 메모리 장치
KR102515924B1 (ko) * 2016-04-19 2023-03-30 에스케이하이닉스 주식회사 미디어 컨트롤러 및 이를 포함한 데이터 저장 장치
US10067903B2 (en) 2015-07-30 2018-09-04 SK Hynix Inc. Semiconductor device
US11082043B2 (en) 2014-10-28 2021-08-03 SK Hynix Inc. Memory device
KR102260369B1 (ko) 2014-10-28 2021-06-03 에스케이하이닉스 주식회사 보정 회로 및 이를 포함하는 보정 장치
KR20190051564A (ko) * 2017-11-07 2019-05-15 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR102527925B1 (ko) * 2017-11-29 2023-05-03 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR102655350B1 (ko) * 2017-12-14 2024-04-09 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR102509487B1 (ko) 2018-02-13 2023-03-14 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
KR102590439B1 (ko) * 2018-10-01 2023-10-18 에스케이하이닉스 주식회사 메모리 시스템
KR20200137244A (ko) 2019-05-29 2020-12-09 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101114508A (zh) * 2006-07-25 2008-01-30 株式会社东芝 信息记录装置及其控制方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4082913B2 (ja) * 2002-02-07 2008-04-30 株式会社ルネサステクノロジ メモリシステム
JP4073799B2 (ja) * 2003-02-07 2008-04-09 株式会社ルネサステクノロジ メモリシステム
US20090172279A1 (en) * 2007-12-28 2009-07-02 Po Yuan System For Accessing A Removable Non-Volatile Memory Card
JP2009211215A (ja) * 2008-03-01 2009-09-17 Toshiba Corp メモリシステム
US8397024B2 (en) * 2008-10-25 2013-03-12 Sandisk 3D Llc Page buffer program command and methods to reprogram pages without re-inputting data to a memory device
JP5458568B2 (ja) * 2008-12-25 2014-04-02 ソニー株式会社 不揮発性記憶装置、情報記録システム、及び情報記録方法
KR101137297B1 (ko) 2010-04-09 2012-04-19 삼성전자주식회사 모바일 스토리지 제어 방법
US20120221884A1 (en) 2011-02-28 2012-08-30 Carter Nicholas P Error management across hardware and software layers
JP5306399B2 (ja) * 2011-03-18 2013-10-02 株式会社東芝 不揮発性半導体メモリ
KR101942272B1 (ko) * 2011-12-27 2019-01-28 삼성전자주식회사 비휘발성 메모리의 제어방법, 이를 구현한 비휘발성 메모리 컨트롤러 및 이를 포함하는 메모리 시스템
CN103186470B (zh) * 2011-12-30 2016-04-20 群联电子股份有限公司 存储器储存装置及其存储器控制器与数据写入方法
KR20150015764A (ko) * 2013-08-01 2015-02-11 삼성전자주식회사 스토리지 디바이스 및 이를 포함하는 스토리지 시스템
US10175885B2 (en) * 2015-01-19 2019-01-08 Toshiba Memory Corporation Memory device managing data in accordance with command and non-transitory computer readable recording medium
US9997251B2 (en) * 2015-03-26 2018-06-12 Burlywood, LLC Medium defect management method for storage systems requiring an integrated controller

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101114508A (zh) * 2006-07-25 2008-01-30 株式会社东芝 信息记录装置及其控制方法

Also Published As

Publication number Publication date
KR20170099618A (ko) 2017-09-01
US10303378B2 (en) 2019-05-28
KR102565918B1 (ko) 2023-08-11
US20170242600A1 (en) 2017-08-24
CN107122317A (zh) 2017-09-01

Similar Documents

Publication Publication Date Title
CN107122317B (zh) 数据存储装置
US11854596B2 (en) Data storage device and operating method thereof
US10509670B2 (en) Data storage device and operating method thereof
US9659638B1 (en) Data storage device and the operating method thereof
US11094364B2 (en) Data storage device and operating method thereof
CN109407966B (zh) 数据存储装置及其操作方法
CN107066201B (zh) 数据存储装置及其方法
CN111916140A (zh) 控制器及其操作方法以及包括控制器的存储器系统
US11748025B2 (en) Nonvolatile memory device, data storage device including the same and operating method thereof
KR102645786B1 (ko) 컨트롤러, 메모리 시스템 및 그것의 동작 방법
CN112988045A (zh) 数据存储装置及其操作方法
US10810118B2 (en) Data storage device and operating method thereof
US11409473B2 (en) Data storage device and operating method thereof
US11429612B2 (en) Address search circuit and method of semiconductor memory apparatus and controller therefor
US11157401B2 (en) Data storage device and operating method thereof performing a block scan operation for checking for valid page counts
US11194512B2 (en) Data storage device which selectively performs a cache read or a normal read operation depending on work load and operating method thereof
CN108121502B (zh) 数据存储装置和数据处理系统
CN111324302B (zh) 数据存储装置及其操作方法
US20190212946A1 (en) Data storage device and operating method thereof

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant