CN1828511A - 固态盘控制器装置 - Google Patents

固态盘控制器装置 Download PDF

Info

Publication number
CN1828511A
CN1828511A CNA2006100049935A CN200610004993A CN1828511A CN 1828511 A CN1828511 A CN 1828511A CN A2006100049935 A CNA2006100049935 A CN A2006100049935A CN 200610004993 A CN200610004993 A CN 200610004993A CN 1828511 A CN1828511 A CN 1828511A
Authority
CN
China
Prior art keywords
port
data
memory
solid state
state disk
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
Application number
CNA2006100049935A
Other languages
English (en)
Other versions
CN1828511B (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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN1828511A publication Critical patent/CN1828511A/zh
Application granted granted Critical
Publication of CN1828511B publication Critical patent/CN1828511B/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/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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
    • 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/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents

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)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)
  • Bus Control (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

一种固态盘控制器装置,包括:第一端口;第二端口,具有多个信道;中央处理单元,连接到CPU总线;缓冲存储器,被配置成存储要从第二端口传输到第一端口以及要从第一端口传输到第二端口的数据;缓冲控制器/仲裁器块,连接到CPU总线,并且被配置成基于中央处理单元的控制而控制缓冲存储器的读和写操作;第一数据传输块,连接在第一端口和缓冲控制器/仲裁器块之间,并且被配置成绕开CPU总线传输要向/从缓冲存储器中存储/读取的数据;以及第二数据传输块,连接在第二端口和缓冲控制器/仲裁器块之间,并且被配置成绕开CPU总线传输要向/从缓冲存储器中存储/读取的数据。

Description

固态盘控制器装置
技术领域
本发明涉及电子存储器设备。具体地说,本发明涉及一种固态盘控制器装置。
背景技术
如在本技术领域内所公知的那样,计算机系统通常使用几种类型的存储器系统。例如,计算机系统通常使用所谓的主存储器,其由能够以同等和非常快的存取时间进行随机写入和读取的多个半导体器件组成,因此通常被称作随机存取存储器。然而,由于半导体存储器相对昂贵,因此经常使用其它较高密度和较低成本的存储器。例如,其它存储器系统包括磁盘存储系统。在磁盘存储系统的情况下,一般而言,存取时间为数十毫秒量级。另一方面,在主存储器的情况下,存取时间为数百纳秒量级。盘存储装置用来存储可以根据需要而顺序地读入到主存储器中的大量数据。另一种盘式存储装置是固态盘存储装置(SSD,也被称作固态驱动器)。SSD是使用存储器芯片如SDRAM来存储数据而非象在传统的硬盘驱动器中的旋转底板(platter)的数据存储设备那样。
术语“SSD”用于两种不同的产品。第一种SSD基于快速的易失性存储器例如SDRAM,其被分类为极其快的数据存取,并且主要用于加速受限于盘驱动器的延迟的应用程序。由于该SSD使用易失性存储器,因此它典型地包括内部电池和后备盘系统,以确保数据持久性。如果无论什么原因而掉电,则电池保持该单元被供电的时间长得足以将全部数据从RAM复制到后备盘。当恢复供电时,将数据从后备盘复制回到RAM,并且SSD恢复正常操作。第一种SSD特别用于已经具有最大数量的RAM的计算机。第二种SSD使用闪存来存储数据。通常具有与传统的存储装置相同的尺寸的这些产品典型地用作对硬盘驱动器的低功率、坚固的(rugged)替代物。为了避免与第一种类型相混淆,这些盘被泛称作快闪盘。本发明涉及第二种SSD。
发明内容
本发明的目的是提供一种能够传输数据而无CPU总线速度的限制的固态盘控制器装置。
根据本发明的一方面,提供了一种固态盘控制器装置,其包括:第一端口;第二端口,具有多个信道;中央处理单元,连接到CPU总线;以及缓冲存储器,被配置成存储要从第二端口传输到第一端口以及要从第一端口传输到第二端口的数据。缓冲控制器/仲裁器块可以连接到CPU总线,并且被配置成基于中央处理单元的控制而控制缓冲存储器的读和写操作。第一数据传输块可以连接在第一端口和缓冲控制器/仲裁器块之间,并且被配置成与CPU总线相并行地传输要向/从缓冲存储器中存储/读取的数据。第二数据传输块可以连接在第二端口和缓冲控制器/仲裁器块之间,并且被配置成与CPU总线相并行地传输要向/从缓冲存储器中存储/读取的数据。
优选地,第一和第二数据传输块中的任一个或两者用来在缓冲存储器和相应的第一和第二端口之间传输数据时绕开CPU总线。
这里所使用的术语“块”是指实现所述操作的电子电路。这样的电路可以完全通过硬连线电路来实现,或者通过硬件、软件和/或固件的组合来实现。
在本实施例中,第一数据传输块可以包括:主机接口控制块,连接到CPU总线,并且被配置成根据中央处理单元的控制而通过第一端口与外部主机接口;以及第一FIFO,被配置成在主机接口控制块和缓冲控制器/仲裁器块之间提供数据传输路径。
在本实施例中,第一端口可以包括:第一信道,连接到串行ATA接口类型的外部主机;第二信道,连接到并行ATA接口类型的外部主机;转换块,被配置成将要通过第一信道输入的数据转换成串行ATA格式,并且将要通过第一信道输出的数据转换成并行ATA格式;以及多路复用器,被配置成将来自第一信道或来自转换块的数据传输到主机接口控制块,该多路复用器将来自主机接口块的数据传输到第二信道和转换块中的任一个。
在本实施例中,第一端口可以被配置成将来自第一信道的数据直接传输到主机接口控制块,以及通过第一信道将来自主机接口控制块的数据直接传输到串行ATA接口类型的外部主机。
在本实施例中,第二数据传输块可以包括:多个第二FIFO,分别对应于第二端口的信道;以及存储器接口控制块,连接到CPU总线,并且被配置成通过第二端口与半导体存储器接口,其中该多个第二FIFO被配置成在存储器接口控制块和缓冲控制器/仲裁器块之间提供数据传输路径。
在本实施例中,该存储器设备还可以包括多个ECC块,其分别连接到第二FIFO,该多个ECC块被配置成检测通过第二FIFO传输的数据的错误,并且生成向半导体存储器传输的数据的纠错码。
在本实施例中,当从通过对应的FIFO传输的数据中检测到错误时,ECC块可以被配置成纠正出错数据而无需中央处理单元的干涉。
在本实施例中,第二端口的每一个信道可以与多个非易失性存储器相连接。
在本实施例中,连接到第二端口的每个信道的非易失性存储器可以包括具有相同类型的非易失性存储器。
在本实施例中,相同类型或不同类型的非易失性存储器可以连接到第二端口的每个信道。
在本实施例中,第二数据传输块可以被配置成在加电时检测连接到第二端口的信道的非易失性存储器的类型,并且根据检测结果来控制每个信道的非易失性存储器的读和写操作。
在本实施例中,第二数据传输块可以被配置成当向第二端口的信道请求读和写操作时,基于硬件和软件交织(interleave)协议中的任一个,控制连接到第二端口的信道的半导体存储器的读和写操作。
在本实施例中,缓冲控制器/仲裁器块可以被配置成当第一和第二FIFO请求数据处理操作时以循环的方式处理数据。
在本实施例中,存储器接口控制块可以包括:控制逻辑电路,被配置成生成要通过第二端口传输到半导体存储器的第一时钟信号,该半导体存储器与第一时钟信号相同步地输出数据;延迟电路,被配置成延迟第一时钟信号,并且生成第二时钟信号;以及数据取出寄存器,被配置成与第二时钟信号相同步地从半导体存储器取出数据。
在本实施例中,延迟电路的延迟时间可以由来自外部源的延迟信息确定。
在本实施例中,存储器接口控制块还可以包括寄存器,其用于存储用来确定延迟电路的延迟时间的延迟信息。
根据本发明的另一方面,提供了一种固态盘控制器装置,其包括:第一端口;第二端口,具有多个信道;中央处理单元,连接到CPU总线;以及缓冲存储器,被配置成存储要从第二端口传输到第一端口或者要从第一端口传输到第二端口的数据。主机接口控制块可以连接到第一端口和CPU总线,并且被配置成根据中央处理单元的控制而与外部主机接口。缓冲控制器/仲裁器块可以连接到CPU总线,并且被配置成根据中央处理单元的控制而控制缓冲存储器。第一FIFO可以被配置成在主机接口控制块和缓冲控制器/仲裁器块之间提供数据传输路径。存储器接口控制块可以连接到第二端口和CPU总线,并且被配置成根据中央处理单元的控制而与非易失性存储器接口。多个第二FIFO可以被配置成在存储器接口控制块和缓冲控制器/仲裁器块之间提供数据传输路径。
在本实施例中,该存储器设备还可以包括多个ECC块,其分别连接到第二FIFO,该多个ECC块被配置成检测通过对应的第二FIFO传输的数据的错误,并且生成向非易失性存储器传输的数据的纠错码。
在本实施例中,当从通过对应的第二FIFO传输的数据中检测到错误时,ECC块可以被配置成纠正出错数据而无需中央处理单元的干涉。
在本实施例中,连接到第二端口的每个信道的非易失性存储器可以包括具有彼此相同的类型的非易失性存储器。
在本实施例中,相同类型或不同类型的非易失性存储器可以连接到第二端口的每个信道。
在本实施例中,存储器接口控制块可以被配置成在加电时检测连接到第二端口的信道的非易失性存储器的类型,并且根据检测结果来控制每个信道的非易失性存储器的读和写操作。
在本实施例中,存储器接口控制块可以被配置成当向第二端口的信道请求读和写操作时,基于硬件和软件交织协议中的任一个,控制连接到第二端口的信道的非易失性存储器的读和写操作。
在本实施例中,缓冲控制器/仲裁器块可以被配置成当第一和第二FIFO请求数据处理操作时以循环的方式处理数据。
在本实施例中,存储器接口控制块可以包括:控制逻辑电路,被配置成生成要通过第二端口传输到半导体存储器的第一时钟信号,该半导体存储器与第一时钟信号相同步地输出数据;延迟电路,被配置成延迟第一时钟信号,并且生成第二时钟信号;以及数据取出寄存器,被配置成与第二时钟信号相同步地从半导体存储器取出数据。
在本实施例中,延迟电路的延迟时间可以由来自外部源的延迟信息确定。
在本实施例中,存储器接口控制块还可以包括寄存器,其用于存储用来确定延迟电路的延迟时间的延迟信息。
附图说明
根据下面结合附图考虑的详细描述,本发明的更完全理解及其很多附带的优点将会很容易地变得清楚,其中相同的附图标记表示相同或类似的组件,其中:
图1是示出根据本发明的固态盘控制器装置的实施例的方框图;
图2是示出用于连接图1中的缓冲控制器/仲裁器块和FIFO的总线架构的方框图;
图3A和3B是用于描述缓冲控制器/仲裁器块和FIFO的操作的时序图;
图4是示出图1中的ECC块的总线架构的方框图;
图5是用于描述图1中的ECC块的错误检测和纠正操作的时序图;
图6是示出图1中的快闪接口控制块的n个信道之一的方框图;
图7到图9是用于描述根据4向交织协议的写过程的时序图;
图10是示出图1中的快闪接口控制块的方框图;
图11是示出由图10中的快闪接口控制块的延迟电路延迟的取出时钟信号的时序图;
图12是示出连接到快闪接口控制块的信道的存储器类型的方框图;以及
图13是示出由根据本发明的固态盘控制器装置支持的第二信道的另一个结构的方框图。
具体实施方式
将参照附图更全面地描述本发明的优选实施例。
图1是示出根据本发明优选实施例的固态盘控制器装置的方框图。固态盘控制器装置1000包括第一端口(端口A)和第二端口(端口B)。固态盘控制器装置1000通过第一端口PORT A与外部主机(未示出)交换数据。第一端口包括两个信道:并行AT附属(attachment)(PATA)总线1001和串行AT附属(SATA)总线1002。第二端口PORT B包括多个信道,其中每一个电气连接到多个非易失性存储器。这里,相同类型的存储器连接到每个信道。连接到一个信道的非易失性存储器包括单电平(single-level)闪存、多电平(multi-level)闪存、OneNAND闪存(它是集成了闪存核心和存储器控制逻辑电路的单个芯片)等。例如,单电平闪存连接到一个信道,多电平闪存连接到另一个信道,并且OneNAND闪存连接到其它信道。SATA接口(在图1中,以“SATA接口”标记)1100被称作设备软件保护器(device dongle),并且将串行/并行数据转换成并行/串行数据。例如,SATA接口1100接收通过SATA总线1002传输的串行数据,并且将所接收的串行数据转换成并行数据。SATA接口1100将来自多路复用器1200的并行数据转换成串行数据。多路复用器1200将通过PATA总线1001提供的并行数据传输到主机接口控制块1300。多路复用器1200将来自主机接口控制块1300的数据传输到PATA总线1001或SATA接口1100。预先确定是否使用第一端口的PATA总线1001和SATA总线1002中的任一个。
继续参照图1,主机接口控制块1300连接到PATA总线1001(或者,被称作“内部IDE总线”)、SATA总线1002、以及CPU总线1003。主机接口控制块1300根据中央处理单元(CPU)1400的控制而执行接口操作。通过缓冲控制器/仲裁器块1600和FIFO(L_FIFO)1500将要通过主机接口控制块1300输入/输出的数据存储在缓冲存储器1700中,而不经过CPU总线1003。例如,在CPU 1400的控制下通过主机接口控制块1300、L_FIFO 1500、以及缓冲控制器/仲裁器块1600将从外部输入的数据存储在缓冲存储器1700中。同样地,通过缓冲控制器/仲裁器块1600、L_FIFO 1500和主机接口控制块1300将存储在缓冲存储器1700中的数据输出到外部。
可以在不使用CPU总线1003的情况下执行固态盘控制器装置1000的数据传输操作,从而数据传输速度不受CPU总线速度的影响。
L_FIFO 1500连接在主机接口控制块1300和缓冲控制器/仲裁器块1600之间。在内部总线1004和1005的带宽彼此不同的情况下,L_FIFO 1500用来在传输数据时临时存储未被处理的数据。L_FIFO 1500的大小被确定成在数据传输操作期间L_FIFO 1500不被填满的程度。主机接口控制块1300包括寄存器1301,其中存储了来自外部的操作命令和地址。主机接口控制块1300响应于存储在寄存器1301中的信息而通过CPU总线1003向CPU 1400传达写或读操作。CPU 1400基于输入信息而控制主机接口控制块1300和缓冲控制器/仲裁器块1600。下面将对此进行更全面的描述。
快闪接口控制块1800通过第二端口与外部非易失性存储器交换数据。快闪接口控制块1800被配置成支持NAND闪存、One_NAND闪存和多电平闪存。快闪接口控制块1800包括预定数目的信道。信道可以与多个非易失性存储器中的任一个相连接。信道可以与相同类型的存储器相连接,或者可以与不同类型的存储器相连接。另外,在各种类型的非易失性存储器连接到第二端口的情况下,固态盘控制器装置1000支持用于在引导时诊断连接到第二端口的非易失性存储器的类型的功能。该功能通过公知的对设备ID的读操作来容易地实现。当向不同的信道执行读操作和编程操作时,本固态盘控制器装置1000的快闪接口控制块1800选择性地执行软件和硬件交织操作。
通过FIFO Ri_FIFO(i=0-n)和缓冲控制器/仲裁器块1600将通过快闪接口控制块1800传输的数据存储在缓冲存储器1700中。通过FIFO Ri_FIFO(i=0-n)和缓冲控制器/仲裁器块1600将通过快闪接口控制块1800传输的数据存储在缓冲存储器1700中,而不经过CPU总线1003。例如,在CPU 1400的控制下,通过快闪接口控制块1800、Ri_FIFO和缓冲控制器/仲裁器块1600将通过第二端口输入的数据存储在缓冲存储器1700中。同样地,在CPU 1400的控制下,通过缓冲控制器/仲裁器块1600、Ri_FIFO、以及快闪接口控制块1800,将存储在缓冲存储器1700中的数据传输到第二端口。可以在不使用CPU总线1003的情况下执行固态盘控制器装置1000的数据传输操作,从而其数据传输速度不受CPU总线速度的影响。FIFO R0_FIFO-Rn_FIFO连接在快闪接口控制块1800和缓冲控制器/仲裁器块1600之间。在内部总线1006<n:0>和1007<n:0>的带宽彼此不同的情况下,FIFO R0_FIFO-Rn_FIFO用来在传输数据时临时存储未被处理的数据。每个FIFO R0_FIFO-Rn_FIFO的大小被确定成在数据传输操作期间FIFO Ri FIFO中的每一个不被填满的程度。
缓冲控制器/仲裁器块1600被配置成控制缓冲存储器1700的读和写操作。例如,缓冲控制器/仲裁器块1600将通过L_FIFO或Ri_FIFO输入的数据存储在缓冲存储器1700中。缓冲控制器/仲裁器块1600从缓冲存储器1700读出要被写入到非易失性存储器或者要被输出到外部的数据。缓冲控制器/仲裁器块1600被配置成当数据处理请求同时发生时以循环的方式处理数据。在这种情况下,优选的是,限制立即要被处理的数据量,以便不花太长时间来处理任何请求。缓冲控制器/仲裁器块1600具有足够的数据处理能力来处理FIFO R0_FIFO-Rn_FIFO的同时请求。也就是,数据处理容量等于或大于总带宽(L_FIFO+R0_FIFO+…+Rn_FIFO)。
错误检查和纠正(ECC)块1900_0-1900_n分别连接到FIFO R0_FIFO-Rn_FIFO,其中FIFO R0_FIFO-Rn_FIFO并联在缓冲控制器/仲裁器块1600和快闪接口控制块1800之间。当通过任何FIFO(例如,R0_FIFO)将数据从快闪接口控制块1800传输到缓冲存储器1700时,对应于R0_FIFO的ECC块1900_0对通过R0_FIFO传输的数据执行错误检测操作。如果从所传输的数据中检测到错误,则ECC块1900_0被配置成向缓冲控制器/仲裁器块1600请求纠错,并且纠正缓冲存储器1700中的出错数据。当通过对应的FIFO向快闪接口控制块1800传输主数据时,ECC块1900_0-1900_n中的每一个生成ECC数据。在快闪接口控制块1800的控制下,将这样生成的ECC数据与主数据一起存储在连接到第二端口的非易失性存储器中。
缓冲存储器1700用来存储要被传输到外部(例如,外部主机或非易失性存储器)的数据。另外,缓冲存储器1700用来存储由CPU 1400操作的程序。缓冲存储器1700优选地由SRAM组成。缓冲存储器1700可以由用于存储要被传输到外部的数据的SRAM和用于存储由CPU 1400操作的程序和数据的SRAM组成。但是,对于本领域的技术人员而言是显而易见的,缓冲存储器的类型和分配不局限于本公开内容的特定例子。
CPU 1400通过使用控制块1300和1800中的控制寄存器1301和1801的值而生成命令。CPU 1400以用于读和写操作的控制信息设置控制寄存器1301和1801。例如,当从外部接收到读/写命令时,将它存储在主机接口控制块1300的寄存器1301中。主机接口控制块1300基于存储在寄存器1301中的命令而向CPU 1400通知接收到读/写命令。CPU 1400根据读/写命令来控制块1300和1600。另外,CPU 1400将读/写命令存储在快闪接口控制块1800的寄存器1801中。快闪接口控制块1800基于存储在寄存器1801中的命令而控制通过第二端口对非易失性存储器的读/写操作。
根据本发明的本实施例,当需要针对连接到第二端口的非易失性存储器的读/写操作时,不通过固态盘控制器装置1000中的CPU总线1003而通过FIFO路径执行数据传输操作。也就是,可以在不使用CPU总线1003的情况下执行从第一端口到第二端口(或者从第二端口到第一端口)的数据传输,从而本固态盘控制器装置1000的数据传输速度不受CPU总线1003的速度的影响。
图2是示出用于连接图1中的缓冲控制器/仲裁器块和FIFO的总线架构的方框图,并且图3A和3B是用于描述缓冲控制器/仲裁器块和FIFO的操作的时序图。
参照图2,缓冲控制器/仲裁器块1600被配置成当从FIFO L_FIFO和R0_FIFO-Rn_FIFO请求数据处理操作时确认数据处理请求。L_FIFO和缓冲控制器/仲裁器块1600之间的总线被配置成传输请求信号REQ0、准予信号GRT0、读/写区分信号RW0、地址ADDRESS0、读数据RD0、写数据WD0、以及数据有效区间信号D_VALID0。同样地,FIFO R0_FIFO-Rn_FIFO和缓冲控制器/仲裁器块1600之间的总线1006_0-1006_n中的每一个被配置成传输请求信号REQ1、准予信号GRT1、读/写区分信号RW1、地址ADDRESS1、读数据RD1、写数据WD1、以及数据有效区间信号D_VALID1。
在将数据从缓冲存储器1700传输到L_FIFO的情况下,如图3A所示,L_FIFO激活用于读操作的请求信号REQ0。同时,将要被读取的数据的地址ADDRESS0从L_FIFO传输到缓冲控制器/仲裁器块1600。当请求信号REQ0被激活时,缓冲控制器/仲裁器块1600在先前处理结束时激活准予信号GRT0。当数据处理请求被准予时,L_FIFO顺序地向缓冲控制器/仲裁器块1600发送地址。缓冲控制器/仲裁器块1600在有效数据区间信号D_VALID0的激活期间,根据所接收的地址从缓冲存储器1700读取数据,并且将所读取的数据输出到L_FIFO。此时,当接收到预定数量的数据(例如,八个N比特数据)时,L_FIFO解除激活(inactivate)请求信号REQ0。该解除激活使得缓冲控制器/仲裁器块1600能够处理另一个FIFO的请求。
在将数据从L_FIFO传输到缓冲存储器1700的情况下,如图3B所示,L_FIFO激活用于写操作的请求信号REQ0。当请求信号REQ0被激活时,缓冲控制器/仲裁器块1600在先前处理结束时激活准予信号GRT0。当数据处理请求被准予时,L_FIFO顺序地将地址与要被写入的数据一起发送到缓冲控制器/仲裁器块1600。缓冲控制器/仲裁器块1600根据所接收的地址将所接收的数据写入在缓冲存储器1700中。此时,当输出了预定数量的数据(例如,八个N比特数据)时,L_FIFO解除激活请求信号REQ0。该解除激活使得缓冲控制器/仲裁器块1600能够处理另一个FIFO的请求。
以与图3A所示相同的方式执行经由总线1006_i从缓冲存储器1700到Ri_FIFO的数据传输,并且以与图3B所示相同的方式执行经由总线1006_i从Ri_FIFO到缓冲存储器1700的数据传输。因此,省略了与FIFO R0_FIFO-Rn_FIFO相关的读和写操作的描述。
图4是示出图1中的ECC块的总线架构的方框图,并且图5是用于描述ECC块的错误检测和纠正操作的时序图。
参照图4,用于连接ECC块1900_0和R0_FIFO的示例性总线被配置成传输ECC请求信号ECC_REQ、ECC读/写区分信号ECC_RW、ECC地址ECC_ADDRESS、ECC校正(remedy)数据ECC_RMWD、ECC准予信号ECC_GRT、以及ECC读数据ECC_RD。
假定通过R0_FIFO向缓冲存储器1700传输数据。如果从所传输的数据中检测到错误,则ECC块1900_0激活ECC请求信号ECC_REQ,其与出错数据的ECC地址ADD1一起通过R0_FIFO被传输到缓冲控制器/仲裁器块1600。当接收到请求信号ECC_REQ与地址ADD1时,缓冲控制器/仲裁器块1600激活准予信号ECC_GRT。此时,ECC读/写区分信号ECC_RW保持高,以便指示读操作。当ECC读/写区分信号ECC_RW处于高电平时,在缓冲控制器/仲裁器块1600的控制下从缓冲存储器1700读取出错数据。通过R0_FIFO将这样读取的出错数据ECC_RD传输到ECC块1900_0。由ECC块1900_0纠正出错数据ECC_RD,并且通过R0_FIFO将经过纠错的数据ECC_RMWD传输到缓冲控制器/仲裁器块1600。此时,ECC读/写区分信号ECC_RW进入指示写操作的低电平。缓冲控制器/仲裁器块1600响应于ECC读/写区分信号ECC_RW而将经过纠错的数据ECC_RMWD存储在缓冲存储器1700中。此后,缓冲控制器/仲裁器块1600解除激活准予信号ECC_GRT。
图6是示出图1中的快闪接口控制块的多个信道之一的方框图。
参照图6,一个信道与多个非易失性存储器相连接。在本例中,非易失性存储器由NAND闪存组成。如在本技术领域内所公知的那样,NAND闪存具有命令/地址/数据复用I/O结构。这意味着通过输入/输出引脚提供命令、数据和地址。假定一个信道与四个非易失性存储器相连接,则它包括公共连接到存储器M0、M1、M2和M3的输入/输出线1802、分别连接到对应的存储器的四个芯片使能信号线1803a-1803d、以及分别连接到对应的存储器的四个就绪/忙碌信号线1804a-1804d。另外,虽然未在图中示出,诸如/WE、/RE、CLE、ALE等的控制信号被公共提供给存储器M0-M3。
假定四个闪存M0-M3连接到一个信道。在该假设下,下面将更全面地描述硬件和软件交织协议的写操作。为了执行写操作,CPU 1400通过CPU总线1003(参见图1)将写命令存储在快闪接口控制块1800的寄存器1801中。快闪接口控制块1800响应于存储在寄存器1801中的写命令而执行对闪存的写操作。在上述信道结构的情况下,如果要被写入的扇区的数目超过2,则优选地根据硬件和软件交织协议来执行对闪存的写操作。首先,将参照图7描述硬件交织协议的写操作。图7示出了用于描述根据4向交织的写过程的时序图。
参照图7,一旦针对任何信道的写命令由CPU 1400写入在快闪接口控制块1800的寄存器1801中,则快闪接口控制块1800持续地将要被编程的数据传输到闪存M0-M3,而无需CPU 1400的干预。例如,遵循命令和地址,通过信道(即,输入/输出线)1802持续地将要被编程的数据传输到闪存M0,并且在预定的时间tPROG(M0)的期间将所传输的数据编程在闪存M0的存储器单元阵列中。在执行对闪存M0的写操作时,如图7所示,快闪接口控制块1800通过信道(也就是,输入/输出线)1802将要被编程的数据传输到闪存M1。同样地,以与上述相同的方式传输在闪存M2和M3中要被编程的数据。从而,该信道在传输命令、地址和数据的期间由闪存M0-M3中的每一个占用。另外,该信道在用于判断写操作通过或失败的状态读取周期期间由每个闪存占用。一旦所有数据被编程,则快闪接口控制块1800向CPU 1400通知写操作结束。在公共连接到该信道的闪存中要被编程的数据是从缓冲存储器1700读出的数据。
下面将参照图8描述软件交织协议的写操作。图8是用于描述在闪存的编程时间保持不变的假设之下根据4向交织的写操作的时序图。
参照图8,一旦针对任何信道的写命令由CPU 1400写入在快闪接口控制块1800的寄存器1801中,则快闪接口控制块1800根据CPU 1400的控制而控制闪存M0-M3的写操作。例如,遵循命令和地址,通过信道(即,输入/输出线)1802顺序地将要被编程的数据WD0传输到闪存M0。一旦数据WD0被传输到闪存M0,则快闪接口控制块1800向CPU 1400通知向闪存M0的数据传输结束。CPU 1400将写命令与传输编程数据的信道的信息一起存储在寄存器1801中。这些步骤(在图8中,以‘a’标记的周期)在对向闪存M0传输的数据WD0进行编程的周期tPROG内执行。如果在寄存器1801中再次写入写命令,则快闪接口控制块1800遵循命令和地址通过信道(即,输入/输出线)将编程数据WD1顺序地传输到闪存M1。同样地,以与上述相同的方式执行向闪存M2和M3的数据传输,因此省略了其描述。
相同于硬件交织协议,该信道在传输命令、地址和数据的周期期间顺序地由每个闪存占用。另外,该信道在用于判断写操作通过或失败的状态读取周期期间由每个闪存占用。
不同于闪存的编程时间保持不变的上述假设,闪存的编程时间tPROG不保持不变。也就是,由于闪存的编程时间可以不同,因此如图9所示,在软件交织协议的写操作期间发生时间损失。
图10是示出图1中的快闪接口控制块的方框图。
众所周知,使用诸如REB的控制信号将数据从闪存传输到快闪接口控制块1800。在这种情况下,从闪存到快闪接口控制块1800的数据传输受到输入/输出线的线路负载或传输时间(flight time)的影响。也就是,如图10所示,用于将点A处的数据传输到点A’的时间根据系统配置而变化。为了克服该变化,优选的是调整取出时钟信号F_CLK的取出时间,其中取出时钟信号F_CLK用于确定内部数据取出寄存器1810的数据取出定时。延迟电路1820响应于施加到闪存的REB信号而生成取出时钟信号F_CLK,并且将取出时钟信号F_CLK施加到数据取出寄存器1810。具体地说,延迟电路1820的延迟时间由在快闪接口控制块1800的寄存器1830中设置的值,或者由通过外部板(pad)1840施加的值调整。如图11所示,位于点A并且与REB信号相同步地输出的数据在延迟时间Δt之后到达点A’。从而,通过将REB信号延迟Δt并且生成取出时钟信号F_CLK,有可能稳定地取出从闪存传输的数据。
图12是示出能够连接到快闪接口控制块的信道的存储器类型的方框图。
参照图12,一个信道CH.1与多个在每个单元中存储1比特数据的NAND闪存公共连接,另一个信道CH.2与多个在每个单元中存储N比特数据的NAND闪存公共连接,并且其它信道CH.n与多个OneNAND闪存公共连接。但是,可以很清楚的是,不同类型的非易失性存储器可以连接到每个信道。
图13是示出由固态盘控制器装置1000支持的第二信道的另一个结构的方框图。
参照图13,具有x16的输入/输出比特构成的闪存通过并联两个闪存(芯片1和芯片2)来配置,其中每个闪存具有x8的输入/输出比特构成。根据该信道结构,有可能加倍闪存的数目和存储能力。两个芯片中的一个使用输入/输出线IO[7:0],并且另一个使用输入/输出线IO[15:8]。在这种情况下,所有控制信号由这些芯片共享。
如上所述,由于不通过CPU总线而通过FIFO路径执行固态盘控制器装置1000的数据传输操作,因此固态盘控制器装置的数据传输速度不受CPU总线速度的影响。
本发明是使用示例性优选实施例来描述的。然而,应当理解,本发明的范围不局限于所公开的实施例。相反地,它旨在涵盖各种修改和类似的安排。因此,权利要求的范围应当被给予最宽的解释,以便囊括所有这样的修改和类似的安排。
本申请要求在2005年1月11日提交的韩国专利申请第2005-2611号的优先权,在此将其全文引作参考。

Claims (30)

1.一种固态盘控制器装置,包括:
第一端口;
第二端口,具有多个信道;
中央处理单元,连接到CPU总线;
缓冲存储器,被配置成存储从第一端口和第二端口之一或向第一端口和第二端口之一传输的数据;
缓冲控制器/仲裁器块,连接到CPU总线,并且被配置成基于中央处理单元的控制而控制缓冲存储器的读和写操作;
第一数据传输块,连接在第一端口和缓冲控制器/仲裁器块之间,并且被配置成与CPU总线相并行地传输向缓冲存储器存储/从缓冲存储器读取的数据;以及
第二数据传输块,连接在第二端口和缓冲控制器/仲裁器块之间,并且被配置成与CPU总线相并行地传输向缓冲存储器存储/从缓冲存储器读取的数据。
2.如权利要求1所述的固态盘控制器装置,其中第一数据传输块包括:
主机接口控制块,连接到CPU总线,并且被配置成根据中央处理单元的控制而通过第一端口与外部主机接口;以及
第一FIFO,被配置成绕开CPU总线在主机接口控制块和缓冲控制器/仲裁器块之间提供数据传输路径。
3.如权利要求2所述的固态盘控制器装置,其中第一端口包括:
第一信道,连接到串行ATA接口类型的外部主机;
第二信道,连接到并行ATA接口类型的外部主机;
转换块,被配置成将要通过第一信道输入的数据转换成串行ATA格式,并且将要通过第一信道输出的数据转换成并行ATA格式;以及
多路复用器,被配置成将来自第一信道或来自转换块的数据传输到主机接口控制块,该多路复用器将来自主机接口块的数据传输到第二信道和转换块中的任一个。
4.如权利要求3所述的固态盘控制器装置,其中第一端口被配置成将来自第一信道的数据直接传输到主机接口控制块,以及通过第一信道将来自主机接口控制块的数据直接传输到串行ATA接口类型的外部主机。
5.如权利要求1所述的固态盘控制器装置,其中第二数据传输块包括:
多个第二FIFO,分别对应于第二端口的信道;以及
存储器接口控制块,连接到CPU总线,并且被配置成通过第二端口与半导体存储器接口,
其中该多个第二FIFO被配置成绕开CPU总线在存储器接口控制块和缓冲控制器/仲裁器块之间提供数据传输路径。
6.如权利要求5所述的固态盘控制器装置,还包括多个ECC块,其分别连接到第二FIFO,该多个ECC块被配置成检测通过第二FIFO传输的数据的错误,并且生成向半导体存储器传输的数据的纠错码。
7.如权利要求6所述的固态盘控制器装置,其中当从通过对应的FIFO传输的数据中检测到错误时,ECC块被配置成纠正出错数据而无需中央处理单元的干涉。
8.如权利要求1所述的固态盘控制器装置,其中第二端口的每一个信道与多个非易失性存储器相连接。
9.如权利要求8所述的固态盘控制器装置,其中连接到第二端口的每个信道的非易失性存储器包括具有相同类型的非易失性存储器。
10.如权利要求8所述的固态盘控制器装置,其中相同类型的非易失性存储器连接到第二端口的每个信道。
11.如权利要求8所述的固态盘控制器装置,其中不同类型的非易失性存储器连接到第二端口的每个信道。
12.如权利要求8所述的固态盘控制器装置,其中第二数据传输块被配置成在加电时检测连接到第二端口的信道的非易失性存储器的类型,并且根据检测结果来控制每个信道的非易失性存储器的读和写操作。
13.如权利要求5所述的固态盘控制器装置,其中第二数据传输块被配置成当向第二端口的信道请求读和写操作时,基于硬件和软件交织协议中的任一个,控制连接到第二端口的信道的半导体存储器的读和写操作。
14.如权利要求5所述的固态盘控制器装置,其中缓冲控制器/仲裁器块被配置成当第一和第二FIFO请求数据处理操作时以循环的方式处理数据。
15.如权利要求5所述的固态盘控制器装置,其中存储器接口控制块包括:
控制逻辑电路,被配置成生成通过第二端口传输到半导体存储器的第一时钟信号,该半导体存储器与第一时钟信号相同步地输出数据;
延迟电路,被配置成延迟第一时钟信号,并且生成第二时钟信号;以及
数据取出寄存器,被配置成与第二时钟信号相同步地从半导体存储器取出数据。
16.如权利要求15所述的固态盘控制器装置,其中延迟电路的延迟时间由来自外部源的延迟信息确定。
17.如权利要求15所述的固态盘控制器装置,其中存储器接口控制块还包括寄存器,其用于存储用来确定延迟电路的延迟时间的延迟信息。
18.一种固态盘控制器装置,包括:
第一端口;
第二端口,具有多个信道;
中央处理单元,连接到CPU总线;
缓冲存储器,被配置成存储从第二端口传输到第一端口或者从第一端口传输到第二端口的数据;
主机接口控制块,连接到第一端口和CPU总线,并且被配置成根据中央处理单元的控制而与外部主机接口;
缓冲控制器/仲裁器块,连接到CPU总线,并且被配置成根据中央处理单元的控制而控制缓冲存储器;
第一FIFO,被配置成在主机接口控制块和缓冲控制器/仲裁器块之间提供数据传输路径;
存储器接口控制块,连接到第二端口和CPU总线,并且被配置成根据中央处理单元的控制而与非易失性存储器接口;以及
多个第二FIFO,被配置成在存储器接口控制块和缓冲控制器/仲裁器块之间提供数据传输路径。
19.如权利要求18所述的固态盘控制器装置,还包括多个ECC块,其分别连接到第二FIFO,该多个ECC块被配置成检测通过对应的第二FIFO传输的数据的错误,并且生成向非易失性存储器传输的数据的纠错码。
20.如权利要求19所述的固态盘控制器装置,其中当从通过对应的第二FIFO传输的数据中检测到错误时,ECC块被配置成纠正出错数据而无需中央处理单元的干涉。
21.如权利要求18所述的固态盘控制器装置,其中连接到第二端口的每个信道的非易失性存储器包括具有彼此相同的类型的非易失性存储器。
22.如权利要求21所述的固态盘控制器装置,其中相同类型的非易失性存储器连接到第二端口的每个信道。
23.如权利要求18所述的固态盘控制器装置,其中不同类型的非易失性存储器连接到第二端口的每个信道。
24.如权利要求18所述的固态盘控制器装置,其中存储器接口控制块被配置成在加电时检测连接到第二端口的信道的非易失性存储器的类型,并且根据检测结果来控制每个信道的非易失性存储器的读和写操作。
25.如权利要求18所述的固态盘控制器装置,其中存储器接口控制块被配置成当向第二端口的信道请求读和写操作时,基于硬件和软件交织协议中的任一个,控制连接到第二端口的信道的非易失性存储器的读和写操作。
26.如权利要求18所述的固态盘控制器装置,其中缓冲控制器/仲裁器块被配置成当第一和第二FIFO请求数据处理操作时以循环的方式处理数据。
27.如权利要求18所述的固态盘控制器装置,其中存储器接口控制块包括:
控制逻辑电路,被配置成生成通过第二端口传输到半导体存储器的第一时钟信号,该半导体存储器与第一时钟信号相同步地输出数据;
延迟电路,被配置成延迟第一时钟信号,并且生成第二时钟信号;以及
数据取出寄存器,被配置成与第二时钟信号相同步地从半导体存储器取出数据。
28.如权利要求27所述的固态盘控制器装置,其中延迟电路的延迟时间由来自外部源的延迟信息确定。
29.如权利要求27所述的固态盘控制器装置,其中存储器接口控制块还包括寄存器,其用于存储用来确定延迟电路的延迟时间的延迟信息。
30.一种固态盘控制器的操作方法,其中该固态盘控制器装置具有:第一端口;第二端口,具有多个信道;中央处理单元,连接到CPU总线;缓冲存储器,被配置成存储数据;以及缓冲控制器/仲裁器,连接到CPU总线,并且被配置成在中央处理单元的控制下控制缓冲存储器的读和写操作,该方法包括:
绕开CPU总线在缓冲存储器和第一端口之间传输向缓冲存储器存储/从缓冲存储器读取的数据;以及
绕开CPU总线在缓冲存储器和第二端口之间传输向缓冲存储器存储/从缓冲存储器读取的数据。
CN2006100049935A 2005-01-11 2006-01-11 固态盘控制器装置及操作方法 Active CN1828511B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR2611/05 2005-01-11
KR1020050002611A KR100621631B1 (ko) 2005-01-11 2005-01-11 반도체 디스크 제어 장치

Publications (2)

Publication Number Publication Date
CN1828511A true CN1828511A (zh) 2006-09-06
CN1828511B CN1828511B (zh) 2010-10-06

Family

ID=36653071

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006100049935A Active CN1828511B (zh) 2005-01-11 2006-01-11 固态盘控制器装置及操作方法

Country Status (6)

Country Link
US (5) US20060152981A1 (zh)
JP (1) JP5032027B2 (zh)
KR (1) KR100621631B1 (zh)
CN (1) CN1828511B (zh)
DE (1) DE102006002526B4 (zh)
TW (1) TWI319191B (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101866679A (zh) * 2009-04-17 2010-10-20 众杰科技股份有限公司 固态硬盘的结构
CN102103467A (zh) * 2009-12-16 2011-06-22 英特尔公司 通过使用可编程总线仲裁器来提高固态盘性能的方法
CN102270501A (zh) * 2010-06-01 2011-12-07 三星电子株式会社 利用编程定序器的闪存器件和系统,以及编程方法
CN101398745B (zh) * 2007-09-29 2011-12-21 群联电子股份有限公司 并行数据存取架构的固态盘存储系统与固态盘控制器
CN101663655B (zh) * 2007-04-19 2012-02-29 微软公司 用于合成固态驱动器的访问、标识和优化的方法及系统
CN102541459A (zh) * 2010-12-17 2012-07-04 西安奇维测控科技有限公司 一种电子硬盘的页数据管理办法
CN101521041B (zh) * 2009-04-01 2013-02-13 北京泰科源科技有限责任公司 一种基于与非门结构内存的控制电路系统
CN101349963B (zh) * 2007-07-19 2013-03-06 三星电子株式会社 固态盘控制器及其数据处理方法
CN103235770A (zh) * 2013-04-25 2013-08-07 杭州华澜微科技有限公司 基于超位宽数字接口界面的固态存储器
CN104123103A (zh) * 2014-08-05 2014-10-29 南车株洲电力机车研究所有限公司 一种大容量存储装置
CN102301340B (zh) * 2008-12-31 2015-07-08 英特尔公司 固态盘中改进的错误校正
CN106201431A (zh) * 2015-05-28 2016-12-07 株式会社东芝 半导体装置
CN110265070A (zh) * 2015-09-25 2019-09-20 意法半导体(鲁塞)公司 具有存储器尺寸的非易失性存储器设备
CN110633054A (zh) * 2019-09-18 2019-12-31 深圳市硅格半导体有限公司 一种提高sata逻辑写性能的预启动方法及其系统

Families Citing this family (105)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101404083B1 (ko) 2007-11-06 2014-06-09 삼성전자주식회사 반도체 디스크 및 그것의 동작 방법
KR100621631B1 (ko) 2005-01-11 2006-09-13 삼성전자주식회사 반도체 디스크 제어 장치
US7493430B2 (en) 2005-07-14 2009-02-17 Quantum Corporation Data flow control and bridging architecture enhancing performance of removable data storage systems
US20070299994A1 (en) * 2006-06-21 2007-12-27 Broadcom Corporation, A California Corporation Disk controller, host interface module and methods for use therewith
DE102006045903B4 (de) * 2006-09-28 2016-06-02 Intel Deutschland Gmbh Prozessoranordnung mit einer Kopplungsvorrichtung zum Koppeln eines Speichers mit einem Prozessor, Datenverarbeitungsanordnung und Verfahren zum Übertragen von Daten
US8706968B2 (en) 2007-12-06 2014-04-22 Fusion-Io, Inc. Apparatus, system, and method for redundant write caching
US9116823B2 (en) * 2006-12-06 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for adaptive error-correction coding
US9104599B2 (en) 2007-12-06 2015-08-11 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for destaging cached data
CN101715575A (zh) * 2006-12-06 2010-05-26 弗森多系统公司(dba弗森-艾奥) 采用数据管道管理数据的装置、系统和方法
US8719501B2 (en) 2009-09-08 2014-05-06 Fusion-Io Apparatus, system, and method for caching data on a solid-state storage device
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
US8443134B2 (en) 2006-12-06 2013-05-14 Fusion-Io, Inc. Apparatus, system, and method for graceful cache device degradation
US9495241B2 (en) 2006-12-06 2016-11-15 Longitude Enterprise Flash S.A.R.L. Systems and methods for adaptive data storage
CN100458751C (zh) * 2007-05-10 2009-02-04 忆正存储技术(深圳)有限公司 并行闪存控制器
US7460398B1 (en) * 2007-06-19 2008-12-02 Micron Technology, Inc. Programming a memory with varying bits per cell
US8001444B2 (en) * 2007-08-08 2011-08-16 Intel Corporation ECC functional block placement in a multi-channel mass storage device
KR101498673B1 (ko) 2007-08-14 2015-03-09 삼성전자주식회사 반도체 드라이브, 그것의 데이터 저장 방법, 그리고 그것을포함한 컴퓨팅 시스템
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies Llc Apparatus, system, and method for destaging cached data
US7836226B2 (en) 2007-12-06 2010-11-16 Fusion-Io, Inc. Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment
US8316277B2 (en) 2007-12-06 2012-11-20 Fusion-Io, Inc. Apparatus, system, and method for ensuring data validity in a data storage process
US8719485B2 (en) * 2008-06-27 2014-05-06 Marvell World Trade Ltd. Solid-state disk with wireless functionality
JP2010020839A (ja) * 2008-07-10 2010-01-28 Panasonic Corp 半導体記憶装置
KR101391362B1 (ko) * 2008-07-23 2014-05-07 삼성전자주식회사 읽기 전압 레벨이 설정가능한 플래시 메모리 시스템 및읽기 전압 레벨의 설정방법
KR101491829B1 (ko) * 2008-08-14 2015-02-12 삼성전자주식회사 읽기 디스터번스를 방지하는 메모리 장치 및 그 방법
US9727473B2 (en) 2008-09-30 2017-08-08 Intel Corporation Methods to communicate a timestamp to a storage system
KR101529290B1 (ko) 2008-10-02 2015-06-17 삼성전자주식회사 반도체 디스크 장치 및 그것의 데이터 처리 방법
KR101534790B1 (ko) * 2008-10-15 2015-07-07 마벨 월드 트레이드 리미티드 데이터 저장 시스템들을 위한 구조
TWI385672B (zh) * 2008-11-05 2013-02-11 Lite On It Corp 儲存裝置之適應性多通道控制器及其方法
KR101014149B1 (ko) 2008-11-13 2011-02-14 (주)인디링스 메모리 뱅크로의 접근을 제어하는 고체 상태 디스크를 위한컨트롤러
US8341311B1 (en) 2008-11-18 2012-12-25 Entorian Technologies, Inc System and method for reduced latency data transfers from flash memory to host by utilizing concurrent transfers into RAM buffer memory and FIFO host interface
KR20100058166A (ko) * 2008-11-24 2010-06-03 삼성전자주식회사 불휘발성 메모리 장치 및 그것을 포함하는 메모리 시스템
US9208108B2 (en) * 2008-12-19 2015-12-08 Nvidia Corporation Method and system for improved flash controller commands selection
US8732350B2 (en) * 2008-12-19 2014-05-20 Nvidia Corporation Method and system for improving direct memory access offload
US8694750B2 (en) * 2008-12-19 2014-04-08 Nvidia Corporation Method and system for data structure management
US8370603B2 (en) 2008-12-23 2013-02-05 Apple Inc. Architecture for address mapping of managed non-volatile memory
KR101006748B1 (ko) * 2009-01-29 2011-01-10 (주)인디링스 패드들의 동시 스위칭을 제어하는 고체 상태 디스크를 위한컨트롤러
JP2010176646A (ja) * 2009-02-02 2010-08-12 Toshiba Information Systems (Japan) Corp メモリシステムおよびメモリシステムのインターリーブ制御方法
TWI404067B (zh) * 2009-02-27 2013-08-01 Macronix Int Co Ltd 記憶體裝置及其操作方法
KR20100097964A (ko) * 2009-02-27 2010-09-06 삼성전자주식회사 불휘발성 메모리 장치의 소거 방법 및 그 독출 방법
KR101504338B1 (ko) * 2009-03-04 2015-03-23 삼성전자주식회사 불휘발성 메모리 장치의 동작 방법
KR20100099961A (ko) * 2009-03-04 2010-09-15 삼성전자주식회사 불휘발성 메모리 장치 및 그 동작 방법
US8285917B2 (en) * 2009-03-26 2012-10-09 Scaleo Chip Apparatus for enhancing flash memory access
US8595572B2 (en) 2009-04-08 2013-11-26 Google Inc. Data storage device with metadata command
US8566507B2 (en) 2009-04-08 2013-10-22 Google Inc. Data storage device capable of recognizing and controlling multiple types of memory chips
US8321647B2 (en) 2009-05-06 2012-11-27 Apple Inc. Multipage preparation commands for non-volatile memory systems
US8438453B2 (en) * 2009-05-06 2013-05-07 Apple Inc. Low latency read operation for managed non-volatile memory
US8341338B2 (en) 2009-05-06 2012-12-25 Samsung Electronics Co., Ltd. Data storage device and related method of operation
US8495332B2 (en) * 2009-07-24 2013-07-23 Apple Inc. Controller for optimizing throughput of read operations
US8489907B2 (en) 2009-09-16 2013-07-16 Apple Inc. Method of selective power cycling of components in a memory device independently by reducing power to a memory array or memory controller
US8838877B2 (en) * 2009-09-16 2014-09-16 Apple Inc. File system derived metadata for management of non-volatile memory
KR101574207B1 (ko) * 2009-10-16 2015-12-14 삼성전자주식회사 데이터 저장 장치 및 그것의 데이터 저장 방법
US8683293B2 (en) * 2009-12-16 2014-03-25 Nvidia Corporation Method and system for fast two bit error correction
US20110161553A1 (en) * 2009-12-30 2011-06-30 Nvidia Corporation Memory device wear-leveling techniques
US9594675B2 (en) * 2009-12-31 2017-03-14 Nvidia Corporation Virtualization of chip enables
KR101008923B1 (ko) * 2010-01-15 2011-01-17 주식회사 노바칩스 다양한 종류의 반도체 메모리 장치들을 구비하는 반도체 메모리 시스템 및 이의 제어 방법
US9069687B2 (en) * 2010-01-29 2015-06-30 Avago Technologies General Ip (Singapore) Pte. Ltd. Memory read-channel with selective transmission of error correction data
KR20110131648A (ko) * 2010-05-31 2011-12-07 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및 메모리 카드 및 그것의 프로그램 방법
JP4922442B2 (ja) * 2010-07-29 2012-04-25 株式会社東芝 バッファ管理装置、同装置を備えた記憶装置、及びバッファ管理方法
US9465728B2 (en) 2010-11-03 2016-10-11 Nvidia Corporation Memory controller adaptable to multiple memory devices
JP2012128644A (ja) * 2010-12-15 2012-07-05 Toshiba Corp メモリシステム
WO2012106362A2 (en) 2011-01-31 2012-08-09 Fusion-Io, Inc. Apparatus, system, and method for managing eviction of data
US8874823B2 (en) 2011-02-15 2014-10-28 Intellectual Property Holdings 2 Llc Systems and methods for managing data input/output operations
US9003104B2 (en) 2011-02-15 2015-04-07 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a file-level cache
US9201677B2 (en) 2011-05-23 2015-12-01 Intelligent Intellectual Property Holdings 2 Llc Managing data input/output operations
US9141527B2 (en) 2011-02-25 2015-09-22 Intelligent Intellectual Property Holdings 2 Llc Managing cache pools
JP5259755B2 (ja) 2011-02-25 2013-08-07 株式会社東芝 マルチチャネルを有するメモリ装置及び同装置におけるメモリアクセス方法
US8918595B2 (en) 2011-04-28 2014-12-23 Seagate Technology Llc Enforcing system intentions during memory scheduling
US8839024B2 (en) * 2011-07-22 2014-09-16 Taejin Info Tech Co., Ltd. Semiconductor storage device-based data restoration
JP2013069047A (ja) * 2011-09-21 2013-04-18 Toshiba Corp メモリシステム
CN103106155B (zh) * 2011-11-10 2015-10-21 群联电子股份有限公司 存储器储存装置、存储器控制器与其数据传输方法
JP2013137713A (ja) 2011-12-28 2013-07-11 Toshiba Corp メモリコントローラ、メモリシステムおよびメモリ書込み方法
US10102117B2 (en) 2012-01-12 2018-10-16 Sandisk Technologies Llc Systems and methods for cache and storage device coordination
US9767032B2 (en) 2012-01-12 2017-09-19 Sandisk Technologies Llc Systems and methods for cache endurance
US9251052B2 (en) 2012-01-12 2016-02-02 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for profiling a non-volatile cache having a logical-to-physical translation layer
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
US9116812B2 (en) 2012-01-27 2015-08-25 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a de-duplication cache
US10019353B2 (en) 2012-03-02 2018-07-10 Longitude Enterprise Flash S.A.R.L. Systems and methods for referencing data on a storage medium
US8996782B2 (en) 2012-03-23 2015-03-31 Kabushiki Kaisha Toshiba Memory system and bank interleaving method
JP5624578B2 (ja) * 2012-03-23 2014-11-12 株式会社東芝 メモリシステム
JP5925549B2 (ja) * 2012-03-23 2016-05-25 株式会社東芝 メモリシステムおよびバンクインターリーブ方法
US9612966B2 (en) 2012-07-03 2017-04-04 Sandisk Technologies Llc Systems, methods and apparatus for a virtual machine cache
US10339056B2 (en) 2012-07-03 2019-07-02 Sandisk Technologies Llc Systems, methods and apparatus for cache transfers
JP2014029634A (ja) * 2012-07-31 2014-02-13 International Business Maschines Corporation パケットバッファリングシステムおよび方法
US8954817B2 (en) 2012-07-31 2015-02-10 Kabushiki Kaisha Toshiba Storage apparatus and controller
US10346095B2 (en) 2012-08-31 2019-07-09 Sandisk Technologies, Llc Systems, methods, and interfaces for adaptive cache persistence
US9471484B2 (en) 2012-09-19 2016-10-18 Novachips Canada Inc. Flash memory controller having dual mode pin-out
KR101951663B1 (ko) * 2012-12-14 2019-02-25 삼성전자주식회사 Crc 부호와 극 부호에 의한 부호화 방법 및 장치
US9842053B2 (en) 2013-03-15 2017-12-12 Sandisk Technologies Llc Systems and methods for persistent cache logging
US9706508B2 (en) * 2013-04-05 2017-07-11 Honeywell International Inc. Integrated avionics systems and methods
JP2015215774A (ja) * 2014-05-12 2015-12-03 Tdk株式会社 メモリコントローラ、メモリシステム及びメモリ制御方法
US10210114B2 (en) * 2014-08-01 2019-02-19 Universiti Teknologi Malaysia Interrupt-driven I/O arbiter for a microcomputer system
KR20160076889A (ko) * 2014-12-23 2016-07-01 에스케이하이닉스 주식회사 반도체장치 및 반도체시스템
JP5889462B2 (ja) * 2015-03-26 2016-03-22 株式会社日立製作所 半導体装置、不揮発性メモリ装置の制御方法
US9772777B2 (en) * 2015-04-27 2017-09-26 Southwest Research Institute Systems and methods for improved access to flash memory devices
KR102417182B1 (ko) * 2015-06-22 2022-07-05 삼성전자주식회사 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템
US20160378352A1 (en) * 2015-06-26 2016-12-29 Intel Corporation Efficient solid state drive data compression scheme and layout
KR20170001235A (ko) * 2015-06-26 2017-01-04 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
JP6627346B2 (ja) * 2015-09-09 2020-01-08 ソニー株式会社 メモリコントローラ、記憶装置、情報処理システムおよびメモリ制御方法
KR102392844B1 (ko) * 2017-03-10 2022-05-03 삼성전자주식회사 메모리 컨트롤러 및 그것을 포함하는 저장 장치
US10642535B2 (en) * 2018-01-23 2020-05-05 International Business Machines Corporation Register access in a distributed memory buffer system
TWI671637B (zh) * 2018-04-25 2019-09-11 點序科技股份有限公司 記憶體管理裝置及其操作方法
US10534551B1 (en) * 2018-06-22 2020-01-14 Micron Technology, Inc. Managing write operations during a power loss
JP7413108B2 (ja) 2020-03-23 2024-01-15 キオクシア株式会社 半導体装置
US20240111671A1 (en) * 2020-12-28 2024-04-04 Kioxia Corporation Memory system
JP2023091307A (ja) * 2021-12-20 2023-06-30 キオクシア株式会社 半導体装置および制御方法

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0273411A (ja) * 1988-09-09 1990-03-13 Canon Inc ステージ位置決め装置
EP0466550B1 (en) * 1990-06-29 1998-11-18 Digital Equipment Corporation Conversion of internal processor register commands to I/O space address
US5822781A (en) * 1992-10-30 1998-10-13 Intel Corporation Sector-based storage device emulator having variable-sized sector
US5459850A (en) * 1993-02-19 1995-10-17 Conner Peripherals, Inc. Flash solid state drive that emulates a disk drive and stores variable length and fixed lenth data blocks
US5696897A (en) * 1994-01-31 1997-12-09 Sun Microsystems, Inc. Method and apparatus for a multi-layer system quiescent suspend and resume operation
JP3726284B2 (ja) * 1994-03-28 2005-12-14 ソニー株式会社 データ記録装置及び方法
US5793412A (en) * 1994-09-16 1998-08-11 Sony Corporation Data transmission apparatus of video-on-demand or near video-on-demand system
JPH08234716A (ja) * 1995-02-28 1996-09-13 Toshiba Corp ウインドウ画面表示方式
US5838935A (en) * 1995-06-15 1998-11-17 Intel Corporation Method and apparatus providing programmable decode modes for secondary PCI bus interfaces
GB2291991A (en) * 1995-09-27 1996-02-07 Memory Corp Plc Disk drive emulation with a block-erasable memory
US5875477A (en) * 1995-12-22 1999-02-23 Intel Corporation Method and apparatus for error management in a solid state disk drive using primary and secondary logical sector numbers
JP3093678B2 (ja) * 1996-06-28 2000-10-03 株式会社東芝 暗号化方法、復号方法、記録再生装置、復号装置、復号化ユニット装置及び記録媒体の製造方法
US5754567A (en) * 1996-10-15 1998-05-19 Micron Quantum Devices, Inc. Write reduction in flash memory systems through ECC usage
KR100217181B1 (ko) * 1997-01-21 1999-09-01 윤종용 데이타 고속 전송을 위한 시스템 디코더 및 트랙버퍼링 제어방법
US5928370A (en) * 1997-02-05 1999-07-27 Lexar Media, Inc. Method and apparatus for verifying erasure of memory blocks within a non-volatile memory structure
JP3821536B2 (ja) * 1997-05-16 2006-09-13 沖電気工業株式会社 不揮発性半導体ディスク装置
JPH11327798A (ja) * 1998-05-20 1999-11-30 Matsushita Electric Ind Co Ltd データ転送制御装置
JP3734620B2 (ja) * 1998-06-24 2006-01-11 沖電気工業株式会社 半導体ディスク装置
US6141249A (en) * 1999-04-01 2000-10-31 Lexar Media, Inc. Organization of blocks within a nonvolatile memory unit to effectively decrease sector write operation time
AU4825600A (en) * 1999-05-05 2000-11-17 Qlogic Corporation Systems and methods for a disk controller memory architecture
US6401149B1 (en) * 1999-05-05 2002-06-04 Qlogic Corporation Methods for context switching within a disk controller
US6851069B1 (en) * 2000-01-13 2005-02-01 Intel Corporation Method, apparatus, and system for high speed data transfer using programmable DLL without using strobes for reads and writes
US6441290B2 (en) * 2000-02-01 2002-08-27 Yamaha Corporation Apparatus and method for reproducing or recording, via buffer memory, sample data supplied from storage device
JP3714087B2 (ja) * 2000-02-02 2005-11-09 ヤマハ株式会社 サンプルデータ再生装置およびサンプルデータ記録再生装置
KR100320563B1 (ko) * 2000-04-03 2002-01-15 정문술 메모리 및 입출력 포트 인터페이스 제어 장치
JP2002073411A (ja) 2000-08-24 2002-03-12 Seiko Epson Corp Eepromの記憶容量判別装置およびeepromの記憶容量判別方法
US6691203B1 (en) * 2000-08-30 2004-02-10 Mosel Vitelic Corporation Integrated controller to process both optical reads and optical writes of multiple optical media
US6874039B2 (en) * 2000-09-08 2005-03-29 Intel Corporation Method and apparatus for distributed direct memory access for systems on chip
US7020739B2 (en) * 2000-12-06 2006-03-28 Tdk Corporation Memory controller, flash memory system having memory controller and method for controlling flash memory device
JP2002288112A (ja) * 2001-03-27 2002-10-04 Hitachi Ltd 通信制御用半導体装置およびインタフェースシステム
GB0123422D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Improved memory controller
GB0123412D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Memory system sectors
GB0123416D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Non-volatile memory control
KR20030035326A (ko) * 2001-10-31 2003-05-09 엘지전자 주식회사 중앙처리장치와 주변 장치간의 버스 인터페이스 회로
US7159048B2 (en) * 2001-12-10 2007-01-02 Emulex Design & Manufacturing Corporation Direct memory access (DMA) transfer buffer processor
JP4314559B2 (ja) * 2003-04-16 2009-08-19 セイコーエプソン株式会社 プリンタ及びプリンタの制御方法
TW555100U (en) * 2002-11-27 2003-09-21 Power Quotient Int Co Ltd High speed of data transfer of solid state disk on module
IES20030722A2 (en) * 2003-10-01 2005-04-06 Yqa Now Ltd A data storage device
US7814554B1 (en) * 2003-11-06 2010-10-12 Gary Dean Ragner Dynamic associative storage security for long-term memory storage devices
JP2005166147A (ja) * 2003-12-01 2005-06-23 Yamaha Corp 光ディスクドライブ、光ディスク装置およびおよび光ディスクデバイスドライバプログラム
US7322002B2 (en) * 2004-05-26 2008-01-22 Micron Technology, Inc. Erasure pointer error correction
KR100621631B1 (ko) * 2005-01-11 2006-09-13 삼성전자주식회사 반도체 디스크 제어 장치
US7493430B2 (en) * 2005-07-14 2009-02-17 Quantum Corporation Data flow control and bridging architecture enhancing performance of removable data storage systems
KR101020040B1 (ko) * 2010-05-17 2011-03-09 황명구 주변의 관련인물 검색 시스템 및 주변 관련의 관련인물 검색 서비스 방법
JP6816307B1 (ja) * 2019-06-17 2021-01-20 東芝三菱電機産業システム株式会社 電源装置および交流電源の異常検出方法

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101663655B (zh) * 2007-04-19 2012-02-29 微软公司 用于合成固态驱动器的访问、标识和优化的方法及系统
CN101349963B (zh) * 2007-07-19 2013-03-06 三星电子株式会社 固态盘控制器及其数据处理方法
US8738842B2 (en) 2007-07-19 2014-05-27 Samsung Electronics Co., Ltd. Solid state disk controller and data processing method thereof
CN101398745B (zh) * 2007-09-29 2011-12-21 群联电子股份有限公司 并行数据存取架构的固态盘存储系统与固态盘控制器
CN102301340B (zh) * 2008-12-31 2015-07-08 英特尔公司 固态盘中改进的错误校正
CN101521041B (zh) * 2009-04-01 2013-02-13 北京泰科源科技有限责任公司 一种基于与非门结构内存的控制电路系统
CN101866679A (zh) * 2009-04-17 2010-10-20 众杰科技股份有限公司 固态硬盘的结构
CN102103467B (zh) * 2009-12-16 2014-04-30 英特尔公司 通过使用可编程总线仲裁器来提高固态盘性能的方法
CN102103467A (zh) * 2009-12-16 2011-06-22 英特尔公司 通过使用可编程总线仲裁器来提高固态盘性能的方法
CN102270501A (zh) * 2010-06-01 2011-12-07 三星电子株式会社 利用编程定序器的闪存器件和系统,以及编程方法
CN102270501B (zh) * 2010-06-01 2015-11-04 三星电子株式会社 利用编程定序器的闪存器件和系统,以及编程方法
CN102541459A (zh) * 2010-12-17 2012-07-04 西安奇维测控科技有限公司 一种电子硬盘的页数据管理办法
CN103235770A (zh) * 2013-04-25 2013-08-07 杭州华澜微科技有限公司 基于超位宽数字接口界面的固态存储器
CN103235770B (zh) * 2013-04-25 2016-05-04 杭州华澜微电子股份有限公司 基于超位宽数字接口界面的固态存储器
CN104123103A (zh) * 2014-08-05 2014-10-29 南车株洲电力机车研究所有限公司 一种大容量存储装置
US20180294038A1 (en) 2015-05-28 2018-10-11 Toshiba Memory Corporation Semiconductor device
CN106201431A (zh) * 2015-05-28 2016-12-07 株式会社东芝 半导体装置
US10438670B2 (en) 2015-05-28 2019-10-08 Toshiba Memory Corporation Semiconductor device
CN106201431B (zh) * 2015-05-28 2020-03-24 东芝存储器株式会社 半导体装置
US10636499B2 (en) 2015-05-28 2020-04-28 Toshiba Memory Corporation Semiconductor device
US10950314B2 (en) 2015-05-28 2021-03-16 Toshiba Memory Corporation Semiconductor device
US11295821B2 (en) 2015-05-28 2022-04-05 Kioxia Corporation Semiconductor device
US11715529B2 (en) 2015-05-28 2023-08-01 Kioxia Corporation Semiconductor device
US12100459B2 (en) 2015-05-28 2024-09-24 Kioxia Corporation Semiconductor device
CN110265070A (zh) * 2015-09-25 2019-09-20 意法半导体(鲁塞)公司 具有存储器尺寸的非易失性存储器设备
CN110265070B (zh) * 2015-09-25 2023-05-23 意法半导体(鲁塞)公司 具有存储器尺寸的非易失性存储器设备
CN110633054A (zh) * 2019-09-18 2019-12-31 深圳市硅格半导体有限公司 一种提高sata逻辑写性能的预启动方法及其系统

Also Published As

Publication number Publication date
US20120173806A1 (en) 2012-07-05
TW200641903A (en) 2006-12-01
JP5032027B2 (ja) 2012-09-26
DE102006002526B4 (de) 2011-06-30
KR100621631B1 (ko) 2006-09-13
CN1828511B (zh) 2010-10-06
US8917565B2 (en) 2014-12-23
US9652324B2 (en) 2017-05-16
US20090265513A1 (en) 2009-10-22
DE102006002526A1 (de) 2006-08-03
US9223650B2 (en) 2015-12-29
JP2006195990A (ja) 2006-07-27
US20150067450A1 (en) 2015-03-05
US20160132389A1 (en) 2016-05-12
TWI319191B (en) 2010-01-01
US8159889B2 (en) 2012-04-17
KR20060081928A (ko) 2006-07-14
US20060152981A1 (en) 2006-07-13

Similar Documents

Publication Publication Date Title
CN1828511A (zh) 固态盘控制器装置
JP6163532B2 (ja) メモリシステムコントローラを含む装置
US8949492B2 (en) Apparatus including buffer allocation management and related methods
US9076528B2 (en) Apparatus including memory management control circuitry and related methods for allocation of a write block cluster
EP2715730B1 (en) Apparatus including memory system controllers and related methods for memory management using blok tables
JP5918359B2 (ja) メモリシステムコントローラを含む装置および関連する方法
US20170123991A1 (en) System and method for utilization of a data buffer in a storage device
US11416426B2 (en) Memory device and method of operating the same
US11620050B2 (en) Soft data compression for non-volatile memory
CN114518843A (zh) 存储控制器和包括存储控制器的存储设备
US11398288B1 (en) Storage medium-assisted system interface training scheme
US11847323B1 (en) Data storage device and method for host buffer management

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