CN101349963A - 固态盘控制器及其数据处理方法 - Google Patents
固态盘控制器及其数据处理方法 Download PDFInfo
- Publication number
- CN101349963A CN101349963A CNA2008101361001A CN200810136100A CN101349963A CN 101349963 A CN101349963 A CN 101349963A CN A2008101361001 A CNA2008101361001 A CN A2008101361001A CN 200810136100 A CN200810136100 A CN 200810136100A CN 101349963 A CN101349963 A CN 101349963A
- Authority
- CN
- China
- Prior art keywords
- sector
- memory
- bitmap values
- read
- volatile memory
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
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)
- Techniques For Improving Reliability Of Storages (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Memory System (AREA)
- Read Only Memory (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
提供了一种固态盘控制器。固态盘控制器包括:易失性存储器,包括存储扇区位图值的存储区;和存储器控制器。在读取操作中,存储器控制器读取在由指针指示的存储区中欧存储的扇区位图值,以及通过随机数据输出操作,基于扇区位图值选择性地读取形成外部非易失性存储器的页面的多个扇区中的至少一个扇区。
Description
本申请要求于2007年7月19日向韩国知识产权局提交的韩国专利申请No.10-2007-0071998的权益,其全部公开一并在此作为参考。
技术领域
本发明涉及数据存储设备控制技术,更具体地,涉及固态盘控制器及其数据处理方法。
背景技术
传统地,在诸如计算机系统之类的电子系统中,将磁盘用作数据存储设备。然而,随着半导体技术的发展,在计算机系统和便携式设备中,已经越来越多地使用固态盘(Solid State Disk,SSD)而不是磁盘,固态磁盘(SSD)将基于电可擦除可编程只读存储器(EEPROM)(例如,与非(NAND)型EEPROM或或非(NOR)型EEPROM)的非易失性存储器作为数据存储设备使用。
因为SSD不包括诸如在硬盘驱动器(HDD)中使用的电动机之类的机械驱动设备,所以SSD在操作期间很少产生热和噪声。此外,SSD具有快速存取速率、高集成度以及抗外部影响的稳定性,因此已经将SSD首选为数据存储设备。此外,SSD的数据传送率远高于HHD的数据传送率。
在将SSD用作数据存储设备时,控制器控制在主机与基于EEPROM的非易失性存储器之间的数据传送。在处理每页数据时,控制器在固件的控制下将数据传输至非易失性存储器以及从非易失性存储器接收数据,这降低了SSD的性能。
发明内容
本发明的某些实施例提供了具有最佳性能的固态盘控制器及其数据处理方法。
本发明的某些实施例还提供了一种数据处理方法和设备,用于利用硬件执行交叉操作而无需固件的干预。
根据本发明的某些实施例,提供了一种固态盘控制器的数据处理方法,包括:在读取操作中,读取在易失性存储器的存储区中存储的扇区位图值,其中所述存储区由指针指示;和基于所述扇区位图值,选择性地读取形成外部非易失性存储器的页面多个扇区中的至少一个扇区。
根据本发明的其它实施例,提供了一种固态盘控制器的数据处理方法,包括:在读取操作中,基于在易失性存储器的第一存储区中存储的第一扇区位图值,选择性地读取形成第一非易失性存储器的第一页面的多个扇区中的至少一个扇区,其中所述第一存储区由指针指示;和基于在所述易失性存储器的第二存储区中存储的第二扇区位图值,选择性地读取形成第二非易失性存储器的第二页面的多个扇区中的至少一个扇区。
该数据处理方法还可以包括:对于交叉读取操作,将读取命令传输至与第一非易失性存储器和第二非易失性存储器相连接的通道。
基于第一扇区位图值选择性地读取至少一个扇区包括:读取在第一存储区存储的第一扇区位图值;和分析第一扇区位图值,并响应于至少一个第一随机数据输出命令,基于分析的结果选择性地读取形成所述第一页面的所述多个扇区中的至少一个扇区。
基于第二扇区位图值选择性地读取至少一个扇区包括:读取在第二存储区中存储的第二扇区位图值;和分析第二扇区位图值,并响应于至少一个第二随机数据输出命令,基于分析的结果选择性地读取形成所述第二页面的所述多个扇区中的至少一个扇区。
根据本发明的进一步示例实施例,一种固态盘控制器的数据处理方法包括:所述数据处理方法包括:在编程操作中,读取在易失性存储器的存储区中存储的扇区位图值,其中所述存储区由指针指示;和基于所述扇区位图值,选择性地将从主机输出的数据的至少一个扇区编程到外部非易失性存储器的页面。
在其它实施例中,一种固态盘控制器包括:易失性存储器,其包括存储有扇区位图值的存储区;和存储控制器,被配置为在读取操作中,基于在由指针指示的存储区中存储的扇区位图值,选择性地读取形成外部非易失性存储器的页面的多个扇区中的至少一个扇区。
存储控制器可以包括:第一寄存器,被配置为存储所述指针;第二寄存器;和状态机,被配置为从存储区读取扇区位图值并基于所述指针将扇区位图值存储在第二寄存器中,分析在第二寄存器中存储的扇区位图值,以及响应于至少一个随机数据输出命令,基于分析的结果从外部非易失性存储器读取多个扇区中的至少一个扇区。
在进一步其它实施例中,一种固态盘控制器包括:易失性存储器,其包括存储有扇区位图值的存储区;和存储控制器,被配置为:在编程操作中,基于在由指针指示的存储区中存储的扇区位图值,选择性地将从主机输出的数据的至少一个扇区编程到外部非易失性存储器的页面。
在进一步其它实施例中,一种固态盘控制器包括:易失性存储器,其包括存储有第一扇区位图值的第一存储区和存储有第二扇区位图值的第二存储区;和存储控制器,被配置为在读取操作中,基于在由指针指示的第一存储区中存储的第一扇区位图值,选择性地读取形成第一外部非易失性存储器的第一页面的多个扇区中的至少一个扇区,以及基于在第二存储区中存储的第二扇区位图值,选择性地读取形成第二外部非易失性存储器的第二页面的多个扇区中的至少一个扇区。
在进一步的实施例中,一种数据存储设备包括:非易失性存储器固态盘控制器;和连接在非易失性存储器与固态盘控制器之间的通道;其中固态盘控制器包括:易失性存储器,包括存储有扇区位图值的存储区;和存储控制器,被配置为在读取操作中,基于在由指针指示的存储区中存储的扇区位图值,选择性地读取形成外部非易失性存储器的页面的多个扇区中的至少一个扇区。
附图说明
通过参考附图详细描述其示例实施例,本发明的以上和其它特征以及优点将变得更加明显,附图中:
图1是根据本发明某实施例的包括固态盘(SSD)控制器在内的系统的方框图;
图2是图1所示的SSD控制器的数据处理方法的流程图;
图3A和3B是用于解释图1所示的SSD控制器的随机数据输出操作的图;
图4是由图1所示的SSD控制器执行的硬件交叉(interleaving)读取操作的流程图;以及
图5A和5B是用于解释随机数据输出操作的图,所述随机数据输出操作用于图1所示的SSD控制器的硬件交叉读取操作。
具体实施方式
现在将在下文中参考示出本发明实施例的附图更充分地描述本发明。然而,可以采用不同的形式具体实现本发明,不应将本发明解释为仅限于这里提出的实施例。更合适地,提供了这些实施例,使得本公开将清楚和完整并且将向本领域技术人员充分传达本发明的范围。在图中,为了清楚,夸大了层和区的尺寸和相对尺寸。相同的数字指示相同的元件。
将理解,在将元件称为“连接”或“耦合”至另一元件时,该元件可以直接连接或耦合至另一元件,或可以存在中间元件。相反,在将元件称为“直接连接”或“直接耦合”至另一元件时,没有中间元件存在。如这里使用的,术语“和/或”包括一个或更多个所关联的列出的项目的任何以及全部组合,可以将其简写为“/”。
将理解,尽管在这里使用术语第一、第二等描述各种元件,然而这些术语不应限制这些元件。这些术语仅用于区分一个元件与另一元件。例如,在不背离公开的教义的情况下,可以将第一信号称为第二信号,并且类似地,可以将第二信号称为第一信号。
这里使用的术语仅是为了描述特定实施例,而不意旨限制本发明。如这里所使用的,除非上下文明确地指示,否则单数形式“a”、“an”和“the”还包括复数形式。还将理解,在本说明书中使用术语“包括”(comprise和/或comprising,或者includes和/或including)时,指定所陈述的特征、区域、整数、步骤、操作、元件和/或部件的存在,然而不排除存在或附加一个或更多个其它的特征、区域、整数、步骤、操作、元件、部件和/或其组合。
除非另有限定,否则这里使用的所有术语(包括技术和科学术语)具有本领域普通技术人员公知的相同的含义。还将理解,应该将诸如在常用词典中定义的术语之类的术语解释为具有与其在相关技术和/或本申请的上下文中的含义一致的含义,而不将其解释为理想化的或过分正式的理解,除非这里清楚地限定。
图1是根据本发明某些实施例的包括固态盘(SSD)控制器30在内的系统10的方框图。参考图1,可以是计算机系统或移动设备的系统10包括:主机20、SSD控制器30、非易失性存储设备50。SSD包括非易失性存储设备50,或包括SSD控制器30和非易失性存储设备50。
主机20通过主机接口(I/F)49和系统总线BUS将操作命令(例如,读取命令、编程命令、或擦除命令)和地址传输至SSD控制器30。可选地,主机20可以通过主机接口(I/F)49直接将操作命令和地址传输至SSD控制器30。SSD控制器30包括易失性存储器31、存储控制器(或闪存控制器)39、缓冲存储器47和主机I/F49。
可以采用动态随机存取存储器(DRAM)或静态随机存取存储器(SRAM)实现易失性存储器31,易失性存储器31包括多个存储区33、35和37,每个存储区存储有扇区位图值。可以使用特殊的硬件或固件对存储在存储区33、35和37中的扇区位图值进行编程或设置。
存储控制器39包括:第一寄存器(或扇区位图指针寄存器)41,其存储扇区位图指针;第二寄存器(或扇区位图寄存器)43,其基于扇区位图指针存储从易失性存储器31输出的扇区位图值;以及状态机45。状态机45使用多个控制信号(如命令锁存使能(CLE)信号、芯片使能(CE)信号、写使能(WE)信号、地址锁存使能(ALE)信号、读/忙(R/B)输出信号、以及写使能(RE)信号),通过多个通道51、57、63和69中的至少一个相应通道,将数据DATA写入非易失性存储设备50或从非易失性存储设备50读取数据DATA。
可以通过系统总线BUS将状态机45从非易失性存储设备50读取的数据DATA临时存储在缓冲存储器47中。缓冲存储器47临时存储在主机20与非易失性存储设备50之间传送的数据DATA。主机I/F 49将数据DATA传输至主机20以及从主机20接收数据DATA。主机I/F 49可以使用串行高级技术连接(ATA)协议、并行ATA协议或其它通信协议。
SSD控制器30和非易失性存储设备50通过多个通道51、57、63和69中的至少一个通道传送数据。可以将两个芯片53和55、59和61、65和67、或71和73分别连接到通道51、57、63和69之一。然而,与通道51、57、63和69之一连接的芯片的数目可以是一个或大于两个。
芯片53、55、59、61、65、67、71和73中每一个均包括:页面缓冲器(未示出),和包括多个存储单元的存储单元阵列(未示出)。可以采用闪速(flash)电可擦除可编程只读存储器(EEPROM)实现每个存储单元。可以采用单级单元(SLC)或多级单元(MLC)实现闪速EEPROM。
图2是图1所示的SSD控制器30的数据处理方法的流程图。图3A和3B是用于解释图1所示的SSD控制器30的随机数据输出操作的图。这里,“tR”表示从存储单元阵列的存储单元至页面缓冲器的数据传送时间。
参考图1直到图3B,通过读取“n”个(其中“n”是自然数,例如8)扇区中具有扇区位图值“1”的至少一个扇区,执行随机数据输出操作,其中“n”个扇区形成与第一通道51连接的第一芯片53的第一页面。这里单个扇区可以具有“m”字节(其中“m”是自然数,例如512或1024)。
在随机数据输出操作中,状态机45产生多个控制信号,也就是CLE信号、CE信号、WE信号、ALE信号、R/B输出信号以及RE信号,以响应于从主机20输出的读取命令READ,读取在与第一通道51连接的第一芯片53的第一页面中存储的数据DATA。第一芯片53分析控制信号,执行读取命令READ。
在操作S 10(图2)中,状态机45读取在第一寄存器41中存储的扇区位图指针,读取在易失性存储器31的由扇区位图指针指示的第一存储区33中存储的扇区位图值(例如,01100010),将扇区位图值存储在第二寄存器43中。例如,在例如01100010的扇区位图值中,“1”指示有效扇区,“0”指示无效扇区,或反之亦然。
如图3A所示,在操作S20(图2)中,状态机45读取和分析在第二寄存器43中存储的扇区位图值(例如01100010),并顺序地输出扇区地址和随机数据输出命令,以基于分析的结果从第一页面(或第一芯片53的页面缓冲器)顺序地读取扇区2、扇区6和扇区7。换言之,根据随机数据输出操作,状态机45从第一页面或第一芯片53的页面缓存器中仅读取在第二寄存器43中存储的扇区位图值(例如01100010)中具有扇区位图值“1”的扇区(例如,扇区2、扇区6或扇区7)。
状态机45可以通过系统总线BUS将读取的扇区2、扇区6和扇区7传输至缓冲存储器47,以将其存储在缓冲存储器47中。可选地,状态机45可以将读取的扇区2、扇区6和扇区7直接传输至缓冲存储器47。因此,SSD控制器30不从页面读取所有的扇区,而是基于扇区位图值选择性地从页面中仅读取至少一个有效扇区,从而提高了性能。
图4是由图1所示的SSD控制器执行的硬件交叉(interleaving)读取操作的流程图。图5A和5B是用于解释随机数据输出操作的图,所述随机数据输出操作用于图1所示的SSD控制器的硬件交叉读取操作。参考图1、图4、图5A以及图5B,通过仅读取形成了与第一通道51连接的第一芯片53的第一页面的“n”个扇区中具有扇区位图值“1”的扇区,以及仅读取形成了与第一通道51连接的第五芯片55的第二页面的“n”个扇区中具有扇区位图值“1”的扇区,以交叉操作方式执行随机数据输出操作。
这里,在操作S11(图4)中,状态机45将多个控制信号(也就是CLE信号、CE信号、WE信号、ALE信号、R/B输出信号、以及RE信号)输出至第一通道51,以响应于从主机20输出的读取命令READ(图5A),读取第一芯片53的第一页面中存储的数据和第五芯片55的第二页面中存储的数据。
此后,如图5A所示,在操作S21中(图4),状态机45读取在第一寄存器41中存储的扇区位图指针,读取在易失性存储器31的由扇区位图指针指示的第一存储区33中存储的第一扇区位图值(例如01100010),将第一扇区位图值存储在第二寄存器43中,以及基于在第二寄存器43中存储的第一扇区位图值(也就是01100010)读取形成了第一芯片53的第一页面的“n”个扇区中的扇区2、扇区6和扇区7。换言之,通过随机数据输出操作,状态机45从第一页面(图5B)或第一芯片53的页面缓冲器中仅读取存储在第二寄存器43中的扇区位图值01100010中具有扇区位图值“1”的扇区(也就是扇区2、扇区6和扇区7)。状态机45可以直接或通过系统总线BUS将读取的扇区2、扇区6和扇区7传输至缓冲存储器47,以它们存储在缓冲存储器47中。
在相对于第一页面的随机数据输出操作结束之后,如图5所示,在操作S31中(图4),状态机45读取在易失性存储器31的第二存储区35中存储的第二扇区位图值(例如10101000),将第二扇区位图值存储在第二寄存器43中,以及基于第二寄存器43中存储的第二扇区位图值(也就是10101000)从第二页面或第五芯片的页面缓存器中读取“n”个扇区中的扇区12、扇区14和扇区16,其中“n”个扇区形成第五芯片55的第二页面(图5B)。第二存储区35可以是增大由扇区位图指针指示的第一存储区33的存储区。换言之,通过随机数据输出操作,状态机45从第二页面或第五芯片55的页面缓冲器中仅读取在存储在第二寄存器43中的扇区位图值10101000中具有扇区位图值“1”的扇区(例如,扇区12、扇区14和扇区16)。状态机45可以直接或通过系统总线BUS将读取的扇区12、扇区14和扇区16传输至缓冲存储器47,以将它们存储在缓冲存储器47中。
因此,在交叉读取操作中,根据本发明某些实施例的SSD控制器30自动读取在易失性存储器31的多个存储区的每一个中存储的扇区位图值而无需固件的干预,以及从特定页面选择性地仅读取至少一个扇区,从而提高了性能。为了描述的清楚,描述了读取操作,然而根据本发明的某些实施例的使用指针的数据处理方法还可以用于写或编程操作中。
例如,在写(或编程)操作中,状态机45读取在第一寄存器41中存储的扇区位图指针,读取在易失性存储器31的由扇区位图指针指示的第一存储区33中存储的扇区位图值(例如01100010),以及将扇区位图值(也就是01100010)存储在第二寄存器43中。其次,状态机45读取和分析在第二寄存器43中存储的扇区位图值01100010,以及基于分析的结果(例如,分析每个扇区位图值是“1”还是“0”的结果)选择性地仅将从主机20输出的数据中的扇区2、扇区6和扇区7通过通道51写入(或编程)到第一芯片53。
此外,在交叉操作中,状态机45能够仅将具有扇区位图值“1”的至少一个扇区写入或编程到与第一通道51连接的第一芯片53的第一页面,以及仅将具有扇区位图值“1”的至少一个扇区写入或编程到与第一通道51连接的第五芯片55的第二页面。
例如,响应于从主机20输出的写入或编程命令,状态机45读取在第一寄存器42中存储的扇区位图指针。接着,状态机读取在易失性存储器31的第一存储区33(由扇区位图指针指示的)中存储的第一扇区位图值(例如01100010),将第一扇区位图值存储在第二寄存器43中,以及基于在第二寄存器43中存储的第一扇区位图值(也就是01100010)选择性地将从主机输出的数据中的扇区2、扇区6和扇区7写入第一芯片53的第一页面。在结束到第一页面的写入或编程操作之后,状态机45读取在易失性存储器31的第二存储区35中存储的第二扇区位图值(例如10101000),将第二扇区位图值存储在第二寄存器43中,以及基于在第二寄存器43中存储的第二扇区位图值(也就是10101000)选择性地将从主机20输出的数据中的扇区12、扇区14和扇区16写入到第五芯片55的第二页面。
因此,在交叉写入或编程操作中,根据本发明某些实施例的SSD控制器30自动读取在易失性存储器31的多个存储区的每一个中存储的扇区位图值而无需固件的干预,以及基于扇区位图值选择性地仅将从主机输出的数据中的至少一个扇区写入或编程到特定页面。因为SSD控制器30不将所有数据不必要地写入或编程到特定页面,所以提高了SSD控制器30的性能。
根据本发明,在交叉读取操作中,SSD控制器自动地读取在易失性存储器的多个存储区中的每一个中存储的扇区位图值而无需固件的干预,从特定页面选择性地仅读取至少一个扇区,从而提高了性能。此外,SSD控制器自动地读取在易失性存储器的多个存储区中的每一个中存储的扇区位图值而无需固件的干预,基于扇区位图值选择性地仅将从主机输出的数据中的至少一个扇区写入或编程到特定页面,从而提高了性能。
虽然通过参考其示例实施例具体地示出和描述了本发明,然而本领域技术人员将理解,可以在不脱离由以下权利要求所限定的本发明的精神和范围的情况下进行各种形式和细节上的改变。
Claims (15)
1、一种固态盘控制器的数据处理方法,所述数据处理方法包括:
在读取操作中,读取在易失性存储器的存储区中存储的扇区位图值,其中所述存储区由指针指示;和
基于所述扇区位图值,选择性地读取形成外部非易失性存储器的页面的多个扇区中的至少一个扇区。
2、根据权利要求1的数据处理方法,其中,响应于至少一个随机数据输出命令,执行选择性地读取至少一个扇区。
3、根据权利要求1的数据处理方法,其中,所述扇区位图值中的每一个指示所述多个扇区中的相应扇区是否有效。
4、根据权利要求1的数据处理方法,还包括:将选择性读取的至少一个扇区存储在缓冲存储器中。
5、一种固态盘控制器的数据处理方法,所述数据处理方法包括:
在读取操作中,基于在易失性存储器的第一存储区中存储的第一扇区位图值,选择性地读取形成第一非易失性存储器的第一页面的多个扇区中的至少一个扇区,其中所述第一存储区由指针指示;和
基于在所述易失性存储器的第二存储区中存储的第二扇区位图值,选择性地读取形成第二非易失性存储器的第二页面的多个扇区中的至少一个扇区。
6、根据权利要求5的数据处理方法,还包括:对于交叉读取操作,将读取命令传输至与第一非易失性存储器和第二非易失性存储器相连接的通道。
7、根据权利要求5的数据处理方法,其中,基于第一扇区位图值选择性地读取至少一个扇区包括:
读取在第一存储区存储的第一扇区位图值;和
分析第一扇区位图值,并响应于至少一个第一随机数据输出命令,基于分析的结果选择性地读取形成所述第一页面的所述多个扇区中的至少一个扇区。
8、根据权利要求7的数据处理方法,其中,基于第二扇区位图值选择性地读取至少一个扇区包括:
读取在第二存储区中存储的第二扇区位图值;和
分析第二扇区位图值,并响应于至少一个第二随机数据输出命令,基于分析的结果选择性地读取形成所述第二页面的所述多个扇区中的至少一个扇区。
9、一种固态盘控制器的数据处理方法,所述数据处理方法包括:在编程操作中,
读取在易失性存储器的存储区中存储的扇区位图值,其中所述存储区由指针指示;和
基于所述扇区位图值,选择性地将从主机输出的数据的至少一个扇区编程到外部非易失性存储器的页面。
10、一种固态盘控制器,包括:
易失性存储器,包括存储有扇区位图值的存储区;和
存储控制器,被配置为在读取操作中,基于在由指针指示的存储区中存储的扇区位图值,选择性地读取形成外部非易失性存储器的页面的多个扇区中的至少一个扇区。
11、根据权利要求10的固态盘控制器,其中,所述存储控制器包括:
第一寄存器,被配置为存储所述指针;
第二寄存器;和
状态机,被配置为:从存储区读取扇区位图值并基于所述指针将扇区位图值存储在第二寄存器中,分析在第二寄存器中存储的扇区位图值,以及响应于至少一个随机数据输出命令,基于分析的结果从外部非易失性存储器读取多个扇区中的至少一个扇区。
12、一种固态盘控制器,包括:
易失性存储器,包括存储有扇区位图值的存储区;和
存储控制器,被配置为:在编程操作中,基于在由指针指示的存储区中存储的扇区位图值,选择性地将从主机输出的数据的至少一个扇区编程到外部非易失性存储器的页面。
13、一种固态盘控制器,包括:
易失性存储器,包括存储有第一扇区位图值的第一存储区和存储有第二扇区位图值的第二存储区;和
存储控制器,被配置为:在读取操作中,基于在由指针指示的第一存储区中存储的第一扇区位图值,选择性地读取形成第一外部非易失性存储器的第一页面的多个扇区中的至少一个扇区,以及基于在第二存储区中存储的第二扇区位图值,选择性地读取形成第二外部非易失性存储器的第二页面的多个扇区中的至少一个扇区。
14、根据权利要求13的固态盘控制器,其中,在读取操作是交叉读取操作时,所述存储控制器将读取命令输出至与第一外部非易失性存储器和第二外部非易失性存储器相连接的通道。
15、一种数据存储设备,包括:
非易失性存储器;
固态盘控制器;和
连接在非易失性存储器与固态盘控制器之间的通道;
其中固态盘控制器包括:
易失性存储器,包括存储有扇区位图值的存储区;和
存储控制器,被配置为:在读取操作中,基于在由指针指示的存储区中存储的扇区位图值,选择性地读取形成外部非易失性存储器的页面的多个扇区中的至少一个扇区。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2007-0071998 | 2007-07-19 | ||
KR1020070071998 | 2007-07-19 | ||
KR1020070071998A KR101424782B1 (ko) | 2007-07-19 | 2007-07-19 | 솔리드 스테이트 디스크 컨트롤러 및 솔리드 스테이트디스크 컨트롤러의 데이터 처리 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101349963A true CN101349963A (zh) | 2009-01-21 |
CN101349963B CN101349963B (zh) | 2013-03-06 |
Family
ID=40176125
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008101361001A Active CN101349963B (zh) | 2007-07-19 | 2008-07-15 | 固态盘控制器及其数据处理方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8738842B2 (zh) |
JP (1) | JP5368735B2 (zh) |
KR (1) | KR101424782B1 (zh) |
CN (1) | CN101349963B (zh) |
DE (1) | DE102008033518B4 (zh) |
TW (1) | TWI479502B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102362263A (zh) * | 2009-03-20 | 2012-02-22 | 韩商英得联股份有限公司 | Ssd控制器与ssd控制器的操作方法 |
CN102937882A (zh) * | 2011-09-12 | 2013-02-20 | 微软公司 | 对具有使用位图的存储设备的有效访问 |
CN103377130A (zh) * | 2012-04-13 | 2013-10-30 | 日立(中国)研究开发有限公司 | 数据存储设备以及相应的数据存储方法 |
CN106155578A (zh) * | 2015-04-27 | 2016-11-23 | 四川效率源信息安全技术有限责任公司 | 手机闪存芯片数据重组的方法 |
CN110262753A (zh) * | 2019-05-30 | 2019-09-20 | 合肥致存微电子有限责任公司 | 一种加快命令响应的方法、系统以及ssd |
CN110287130A (zh) * | 2018-03-19 | 2019-09-27 | 爱思开海力士有限公司 | 存储装置及其操作方法 |
CN110457230A (zh) * | 2018-05-08 | 2019-11-15 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011007989A2 (en) * | 2009-07-13 | 2011-01-20 | Lg Electronics Inc. | Disk drive |
US8164936B2 (en) * | 2009-10-14 | 2012-04-24 | Seagate Technology Llc | Switched memory devices |
US9229809B2 (en) | 2011-09-11 | 2016-01-05 | Microsoft Technology Licensing Llc | Nonvolatile media journaling of verified data sets |
KR102465321B1 (ko) | 2016-03-02 | 2022-11-11 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 |
CN114063933B (zh) * | 2021-12-02 | 2022-06-28 | 深圳市宝佳乐电子科技有限公司 | 区块管理方法、存储器控制器和存储器存储装置 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6481028A (en) * | 1987-09-22 | 1989-03-27 | Fanuc Ltd | Data memory system |
JPH0628261A (ja) | 1992-04-17 | 1994-02-04 | Hitachi Ltd | データ転送方法及び装置 |
JPH07262059A (ja) | 1994-03-25 | 1995-10-13 | Sony Corp | ファイル管理方法 |
JPH07319636A (ja) | 1994-05-27 | 1995-12-08 | Fuji Xerox Co Ltd | 磁気ディスクのデータ格納制御装置 |
JPH0877099A (ja) * | 1994-09-02 | 1996-03-22 | Fuji Xerox Co Ltd | Dmaコントローラ |
GB2291990A (en) * | 1995-09-27 | 1996-02-07 | Memory Corp Plc | Flash-memory management system |
JP3063669B2 (ja) | 1997-04-04 | 2000-07-12 | 三菱電機株式会社 | 情報処理システム |
JP3849241B2 (ja) * | 1997-08-11 | 2006-11-22 | ソニー株式会社 | 記憶装置 |
US5956743A (en) * | 1997-08-25 | 1999-09-21 | Bit Microsystems, Inc. | Transparent management at host interface of flash-memory overhead-bytes using flash-specific DMA having programmable processor-interrupt of high-level operations |
JP2000285017A (ja) * | 1999-03-31 | 2000-10-13 | Seiko Epson Corp | 記憶装置 |
US20050114587A1 (en) | 2003-11-22 | 2005-05-26 | Super Talent Electronics Inc. | ExpressCard with On-Card Flash Memory with Shared Flash-Control Bus but Separate Ready Lines |
US7394661B2 (en) | 2004-06-30 | 2008-07-01 | Super Talent Electronics, Inc. | System and method for providing a flash memory assembly |
US7702831B2 (en) * | 2000-01-06 | 2010-04-20 | Super Talent Electronics, Inc. | Flash memory controller for electronic data flash card |
US7318117B2 (en) * | 2004-02-26 | 2008-01-08 | Super Talent Electronics, Inc. | Managing flash memory including recycling obsolete sectors |
US20060075395A1 (en) * | 2004-10-01 | 2006-04-06 | Lee Charles C | Flash card system |
JP3923715B2 (ja) * | 2000-09-29 | 2007-06-06 | 株式会社東芝 | メモリカード |
US7089379B1 (en) * | 2002-06-28 | 2006-08-08 | Emc Corporation | Large high bandwidth memory system |
TWI278851B (en) * | 2003-02-25 | 2007-04-11 | Lg Electronics Inc | Recording medium having data structure for managing at least a data area of the recording medium and recording and reproducing methods and apparatuses |
KR100528482B1 (ko) * | 2003-12-31 | 2005-11-15 | 삼성전자주식회사 | 데이타를 섹터 단위로 랜덤하게 입출력할 수 있는 플래시메모리 시스템 |
EP1607879A1 (en) * | 2004-06-14 | 2005-12-21 | Dialog Semiconductor GmbH | Memory interleaving in a computer system |
JP4665510B2 (ja) * | 2004-12-20 | 2011-04-06 | ソニー株式会社 | 暗号化データ記録装置 |
KR100621631B1 (ko) * | 2005-01-11 | 2006-09-13 | 삼성전자주식회사 | 반도체 디스크 제어 장치 |
-
2007
- 2007-07-19 KR KR1020070071998A patent/KR101424782B1/ko active IP Right Grant
-
2008
- 2008-06-16 JP JP2008156807A patent/JP5368735B2/ja active Active
- 2008-06-26 US US12/147,067 patent/US8738842B2/en active Active
- 2008-07-10 TW TW097126165A patent/TWI479502B/zh active
- 2008-07-14 DE DE102008033518.5A patent/DE102008033518B4/de active Active
- 2008-07-15 CN CN2008101361001A patent/CN101349963B/zh active Active
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102362263A (zh) * | 2009-03-20 | 2012-02-22 | 韩商英得联股份有限公司 | Ssd控制器与ssd控制器的操作方法 |
CN102937882A (zh) * | 2011-09-12 | 2013-02-20 | 微软公司 | 对具有使用位图的存储设备的有效访问 |
US8942072B2 (en) | 2011-09-12 | 2015-01-27 | Microsoft Corporation | Efficient access to storage devices with usage bitmaps |
US8947988B2 (en) | 2011-09-12 | 2015-02-03 | Microsoft Corporation | Efficient access to storage devices with usage bitmaps |
CN102937882B (zh) * | 2011-09-12 | 2015-08-05 | 微软技术许可有限责任公司 | 对具有使用位图的存储设备的有效访问 |
CN103377130A (zh) * | 2012-04-13 | 2013-10-30 | 日立(中国)研究开发有限公司 | 数据存储设备以及相应的数据存储方法 |
CN106155578A (zh) * | 2015-04-27 | 2016-11-23 | 四川效率源信息安全技术有限责任公司 | 手机闪存芯片数据重组的方法 |
CN110287130A (zh) * | 2018-03-19 | 2019-09-27 | 爱思开海力士有限公司 | 存储装置及其操作方法 |
CN110287130B (zh) * | 2018-03-19 | 2024-03-08 | 爱思开海力士有限公司 | 存储装置及其操作方法 |
CN110457230A (zh) * | 2018-05-08 | 2019-11-15 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN110457230B (zh) * | 2018-05-08 | 2023-12-05 | 爱思开海力士有限公司 | 存储器系统及其操作方法 |
CN110262753A (zh) * | 2019-05-30 | 2019-09-20 | 合肥致存微电子有限责任公司 | 一种加快命令响应的方法、系统以及ssd |
Also Published As
Publication number | Publication date |
---|---|
KR20090008766A (ko) | 2009-01-22 |
TWI479502B (zh) | 2015-04-01 |
KR101424782B1 (ko) | 2014-08-04 |
DE102008033518B4 (de) | 2021-10-14 |
US20090024791A1 (en) | 2009-01-22 |
DE102008033518A1 (de) | 2009-02-05 |
JP5368735B2 (ja) | 2013-12-18 |
US8738842B2 (en) | 2014-05-27 |
JP2009026301A (ja) | 2009-02-05 |
CN101349963B (zh) | 2013-03-06 |
TW200905696A (en) | 2009-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101349963B (zh) | 固态盘控制器及其数据处理方法 | |
CN102165409B (zh) | 具有扩充模式的固态存储装置控制器 | |
KR101251772B1 (ko) | 병렬 동작 모드를 갖는 솔리드 스테이트 저장 장치 제어기 | |
US9183143B2 (en) | Memory device that specifies a size of a segment of write data | |
US20110007571A1 (en) | Nonvolatile memory devices and program methods thereof in which a target verify operation and a pre-pass verify operation are performed simultaneously using a common verify voltage | |
JP2008524748A (ja) | メモリシステムにおけるデータ再配置 | |
KR20190032815A (ko) | 메모리 시스템 및 그것의 동작 방법 | |
TW201711049A (zh) | 用來管理一記憶裝置之方法以及記憶裝置與控制器 | |
KR20210024269A (ko) | 빠른 읽기 페이지를 포함하는 불휘발성 메모리 장치 및 이를 포함하는 스토리지 장치 | |
CN109388514B (zh) | 存储器系统及其操作方法 | |
CN103106155B (zh) | 存储器储存装置、存储器控制器与其数据传输方法 | |
US10365834B2 (en) | Memory system controlling interleaving write to memory chips | |
CN110837339A (zh) | 数据整并方法、存储器存储装置及存储器控制电路单元 | |
US11586379B2 (en) | Memory system and method of operating the same | |
CN114968079A (zh) | 包括存储器系统和主机的电子系统 | |
US8713242B2 (en) | Control method and allocation structure for flash memory device | |
CN111583976A (zh) | 数据写入方法、存储器控制电路单元以及存储器存储装置 | |
TWI830660B (zh) | 資料儲存裝置與資料處理方法 | |
KR20190030463A (ko) | 메모리 시스템 및 그것의 동작 방법 | |
US20230154540A1 (en) | Storage system and operating method of storage controller | |
KR20230085629A (ko) | 저장 장치 및 그 동작 방법 | |
CN115083482A (zh) | 存储器装置和包括该存储器装置的存储装置 | |
CN116543813A (zh) | 存储装置及其操作方法 | |
CN109669626A (zh) | 固态储存装置及其相关数据管理方法 |
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 |