CN1828511B - 固态盘控制器装置及操作方法 - Google Patents
固态盘控制器装置及操作方法 Download PDFInfo
- Publication number
- CN1828511B CN1828511B CN2006100049935A CN200610004993A CN1828511B CN 1828511 B CN1828511 B CN 1828511B CN 2006100049935 A CN2006100049935 A CN 2006100049935A CN 200610004993 A CN200610004993 A CN 200610004993A CN 1828511 B CN1828511 B CN 1828511B
- Authority
- CN
- China
- Prior art keywords
- data
- port
- memory
- block
- read
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1068—Adding 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
-
- 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/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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
- 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]
-
- 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/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection 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请求数据处理操作时以循环的方式处理数据。
在本实施例中,存储器接口控制块可以包括:控制逻辑电路,被配置成生成要通过第二端口传输到半导体存储器的第一时钟信号,该半导体存储器与第一时钟信号相同步地输出数据;延迟电路,被配置成延迟第一时钟信号,并且生成第二时钟信号;以及数据取出寄存器,被配置成与第二时钟信号相同步地从半导体存储器取出数据。
在本实施例中,延迟电路的延迟时间可以由来自外部源的延迟信息确定。
在本实施例中,存储器接口控制块还可以包括寄存器,其用于存储用来确定延迟电路的延迟时间的延迟信息。
具体地,根据本发明的一方面,提供了一种固态盘控制器装置,包括:第一端口,耦接到外部主机;第二端口,具有多个信道,用于电耦接到多个半导体存储器;中央处理单元,连接到CPU总线;缓冲存储器,被配置成存储从第一端口和第二端口之一或向第一端口和第二端口之一传输的数据;缓冲控制器/仲裁器块,连接到CPU总线,并且被配置成基于中央处理单元的控制而控制缓冲存储器的读和写操作;第一数据传输块,连接在第一端口和缓冲控制器/仲裁器块之间,并且被配置成与CPU总线相并行地传输向缓冲存储器存储/从缓冲存储器读取的数据;以及第二数据传输块,连接在第二端口和缓冲控制器/仲裁器块之间,并且被配置成与CPU总线相并行地传输向缓冲存储器存储/从缓冲存储器读取的数据。其中第一数据传输块包括:主机接口控制块,被配置成通过第一端口从外部主机接收读/写命令,并响应于在主机接口控制块的寄存器中存储的读/写命令向中央处理单元通知接收到读/写命令。其中第二数据传输块包括:连接到CPU总线并且被配置成通过第二端口与半导体存储器接口的存储器接口控制块。其中存储器接口控制块包括:控制逻辑电路,被配置成生成通过第二端口传输到半导体存储器的第一时钟信号,该半导体存储器与第一时钟信号相同步地输出数据;延迟电路,被配置成延迟第一时钟信号,并且生成第二时钟信号;以及数据取出寄存器,被配置成与第二时钟信号相同步地从半导体存储器取出数据。
其中第一数据传输块还包括:第一FIFO,被配置成绕开CPU总线在主机接口控制块和缓冲控制器/仲裁器块之间提供数据传输路径。
其中第一端口包括:第一信道,连接到串行ATA接口类型的外部主机;第二信道,连接到并行ATA接口类型的外部主机;转换块,被配置成将要通过第一信道输入的数据转换成并行ATA格式,并且将要通过第一信道输出的数据转换成串行ATA格式;以及多路复用器,被配置成将来自第二信道或来自转换块的数据传输到主机接口控制块,该多路复用器将来自主机接口块的数据传输到第二信道和转换块中的任一个。
其中第一端口被配置成将来自第一信道的数据直接传输到主机接口控制块,以及通过第一信道将来自主机接口控制块的数据直接传输到串行ATA接口类型的外部主机。
其中第二数据传输块还包括:多个第二FIFO,分别对应于第二端口的信道;其中该多个第二FIFO被配置成绕开CPU总线在存储器接口控制块和缓冲控制器/仲裁器块之间提供数据传输路径。
所述的固态盘控制器装置还包括多个ECC块,其分别连接到第二FIFO,该多个ECC块被配置成检测通过第二FIFO传输的数据的错误,并且生成向半导体存储器传输的数据的纠错码。
其中当从通过对应的FIFO传输的数据中检测到错误时,ECC块被配置成纠正出错数据而无需中央处理单元的干涉。
其中第二端口的每一个信道与多个非易失性存储器相连接。
其中连接到第二端口的每个信道的非易失性存储器包括具有相同类型的非易失性存储器。
其中相同类型的非易失性存储器连接到第二端口的每个信道。
其中不同类型的非易失性存储器连接到第二端口的每个信道。
其中第二数据传输块被配置成在加电时检测连接到第二端口的信道的非易失性存储器的类型,并且根据检测结果来控制每个信道的非易失性存储器的读和写操作。
其中第二数据传输块被配置成当向第二端口的信道请求读和写操作时,基于硬件和软件交织协议中的任一个,控制连接到第二端口的信道的半导体存储器的读和写操作。
其中缓冲控制器/仲裁器块被配置成当第一和第二FIFO请求数据处理操作时以循环的方式处理数据。
其中延迟电路的延迟时间由来自外部源的延迟信息确定。
其中存储器接口控制块还包括寄存器,其用于存储用来确定延迟电路的延迟时间的延迟信息。
其中存储器接口控制块被配置成经由CPU总线从CPU接收该读/写命令,并根据该命令控制半导体存储器的读/写操作。
根据本发明的另一方面,提供了一种如上所述的固态盘控制器装置的操作方法,该方法包括:通过第一端口从外部主机接收读/写命令到主机接口控制块;响应于在主机接口控制块的寄存器中存储的读/写命令向中央处理单元通知接收到读/写命令;绕开CPU总线在缓冲存储器和第一端口之间根据该读/写命令传输向缓冲存储器存储/从缓冲存储器读取的数据;以及绕开CPU总线在缓冲存储器和第二端口之间根据该读/写命令传输向缓冲存储器存储/从缓冲存储器读取的数据。
所述的固态盘控制器装置的操作方法还包括:经由CPU总线从CPU接收该读/写命令,并根据该命令控制半导体存储器的读/写操作。
附图说明
根据下面结合附图考虑的详细描述,本发明的更完全理解及其很多附带的优点将会很容易地变得清楚,其中相同的附图标记表示相同或类似的组件,其中:
图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 (19)
1.一种固态盘控制器装置,包括:
第一端口,耦接到外部主机;
第二端口,具有多个信道,用于电耦接到多个半导体存储器;
中央处理单元,连接到CPU总线;
缓冲存储器,被配置成存储从第一端口和第二端口之一或向第一端口和第二端口之一传输的数据;
缓冲控制器/仲裁器块,连接到CPU总线,并且被配置成基于中央处理单元的控制而控制缓冲存储器的读和写操作;
第一数据传输块,连接在第一端口和缓冲控制器/仲裁器块之间,并且被配置成与CPU总线相并行地传输向缓冲存储器存储/从缓冲存储器读取的数据;以及
第二数据传输决,连接在第二端口和缓冲控制器/仲裁器块之间,并且被配置成与CPU总线相并行地传输向缓冲存储器存储/从缓冲存储器读取的数据,
其中第一数据传输块包括:
主机接口控制块,被配置成通过第一端口从外部主机接收读/写命令,并响应于在主机接口控制块的寄存器中存储的读/写命令向中央处理单元通知接收到读/写命令,
其中第二数据传输块包括:连接到CPU总线并且被配置成通过第二端口与半导体存储器接口的存储器接口控制块,
其中存储器接口控制块包括:
控制逻辑电路,被配置成生成通过第二端口传输到半导体存储器的第一时钟信号,该半导体存储器与第一时钟信号相同步地输出数据;
延迟电路,被配置成延迟第一时钟信号,并且生成第二时钟信号;以及
数据取出寄存器,被配置成与第二时钟信号相同步地从半导体存储器取出数据。
2.如权利要求1所述的固态盘控制器装置,其中第一数据传输块还包括:第一FIFO,被配置成绕开CPU总线在主机接口控制块和缓冲控制器/仲裁器块之间提供数据传输路径。
3.如权利要求2所述的固态盘控制器装置,其中第一端口包括:
第一信道,连接到串行ATA接口类型的外部主机;
第二信道,连接到并行ATA接口类型的外部主机;
转换块,被配置成将要通过第一信道输入的数据转换成并行ATA格式,并且将要通过第一信道输出的数据转换成串行ATA格式;以及
多路复用器,被配置成将来自第二信道或来自转换块的数据传输到主机接口控制块,该多路复用器将来自主机接口块的数据传输到第二信道和转换块中的任一个。
4.如权利要求3所述的固态盘控制器装置,其中第一端口被配置成将来自第一信道的数据直接传输到主机接口控制块,以及通过第一信道将来自主机接口控制块的数据直接传输到串行ATA接口类型的外部主机。
5.如权利要求1所述的固态盘控制器装置,其中第二数据传输块还包括:
多个第二FIFO,分别对应于第二端口的信道;
其中该多个第二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.如权利要求1所述的固态盘控制器装置,其中延迟电路的延迟时间由来自外部源的延迟信息确定。
16.如权利要求1所述的固态盘控制器装置,其中存储器接口控制块还包括寄存器,其用于存储用来确定延迟电路的延迟时间的延迟信息。
17.如权利要求5所述的固态盘控制器装置,其中存储器接口控制块被配置成经由CPU总线从CPU接收该读/写命令,并根据该命令控制半导体存储器的读/写操作。
18.一种权利要求1所述的固态盘控制器装置的操作方法,该方法包括:
通过第一端口从外部主机接收读/写命令到主机接口控制块;
响应于在主机接口控制块的寄存器中存储的读/写命令向中央处理单元通知接收到读/写命令;
绕开CPU总线在缓冲存储器和第一端口之间根据该读/写命令传输向缓冲存储器存储/从缓冲存储器读取的数据;以及
绕开CPU总线在缓冲存储器和第二端口之间根据该读/写命令传输向缓冲存储器存储/从缓冲存储器读取的数据。
19.如权利要求18所述的固态盘控制器装置的操作方法,还包括:经由CPU总线从CPU接收该读/写命令,并根据该命令控制半导体存储器的读/写操作。
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 CN1828511A (zh) | 2006-09-06 |
CN1828511B true 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) |
Families Citing this family (119)
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 |
US8429677B2 (en) * | 2007-04-19 | 2013-04-23 | Microsoft Corporation | Composite solid state drive identification and optimization technologies |
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 |
KR101424782B1 (ko) * | 2007-07-19 | 2014-08-04 | 삼성전자주식회사 | 솔리드 스테이트 디스크 컨트롤러 및 솔리드 스테이트디스크 컨트롤러의 데이터 처리 방법 |
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 | 삼성전자주식회사 | 반도체 드라이브, 그것의 데이터 저장 방법, 그리고 그것을포함한 컴퓨팅 시스템 |
CN101398745B (zh) * | 2007-09-29 | 2011-12-21 | 群联电子股份有限公司 | 并行数据存取架构的固态盘存储系统与固态盘控制器 |
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 |
US8438455B2 (en) * | 2008-12-31 | 2013-05-07 | Intel Corporation | Error correction in a solid state disk |
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 |
CN101521041B (zh) * | 2009-04-01 | 2013-02-13 | 北京泰科源科技有限责任公司 | 一种基于与非门结构内存的控制电路系统 |
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 |
CN101866679A (zh) * | 2009-04-17 | 2010-10-20 | 众杰科技股份有限公司 | 固态硬盘的结构 |
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 |
US8386650B2 (en) * | 2009-12-16 | 2013-02-26 | Intel Corporation | Method to improve a solid state disk performance by using a programmable bus arbiter |
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 | 삼성전자주식회사 | 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및 메모리 카드 및 그것의 프로그램 방법 |
KR101734204B1 (ko) * | 2010-06-01 | 2017-05-12 | 삼성전자주식회사 | 프로그램 시퀀서를 포함하는 플래시 메모리 장치 및 시스템, 그리고 그것의 프로그램 방법 |
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 | メモリシステム |
CN102541459A (zh) * | 2010-12-17 | 2012-07-04 | 西安奇维测控科技有限公司 | 一种电子硬盘的页数据管理办法 |
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 |
CN103235770B (zh) * | 2013-04-25 | 2016-05-04 | 杭州华澜微电子股份有限公司 | 基于超位宽数字接口界面的固态存储器 |
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 |
CN104123103A (zh) * | 2014-08-05 | 2014-10-29 | 南车株洲电力机车研究所有限公司 | 一种大容量存储装置 |
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 |
TWI843054B (zh) * | 2015-05-28 | 2024-05-21 | 日商鎧俠股份有限公司 | 半導體裝置 |
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 | ソニー株式会社 | メモリコントローラ、記憶装置、情報処理システムおよびメモリ制御方法 |
FR3041806B1 (fr) * | 2015-09-25 | 2017-10-20 | Stmicroelectronics Rousset | Dispositif de memoire non volatile, par exemple du type eeprom, ayant une capacite memoire importante, par exemple 16mbits |
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 |
CN110633054A (zh) * | 2019-09-18 | 2019-12-31 | 深圳市硅格半导体有限公司 | 一种提高sata逻辑写性能的预启动方法及其系统 |
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 | キオクシア株式会社 | 半導体装置および制御方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0852766A1 (en) * | 1995-09-27 | 1998-07-15 | Memory Corporation plc | Memory systems |
CN1195853A (zh) * | 1997-01-21 | 1998-10-14 | 三星电子株式会社 | 传送高速数据的系统解码器和控制路径缓冲的方法 |
CN1199899A (zh) * | 1997-05-16 | 1998-11-25 | 冲电气工业株式会社 | 非易失性半导体磁盘装置 |
US5969897A (en) * | 1994-03-28 | 1999-10-19 | Sony Corporation | Data recording apparatus and method |
US6401149B1 (en) * | 1999-05-05 | 2002-06-04 | Qlogic Corporation | Methods for context switching within a disk controller |
Family Cites Families (40)
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 |
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 |
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 |
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 |
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 |
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 | 東芝三菱電機産業システム株式会社 | 電源装置および交流電源の異常検出方法 |
-
2005
- 2005-01-11 KR KR1020050002611A patent/KR100621631B1/ko active IP Right Grant
- 2005-12-19 US US11/311,990 patent/US20060152981A1/en not_active Abandoned
- 2005-12-27 TW TW094146675A patent/TWI319191B/zh active
-
2006
- 2006-01-10 JP JP2006003004A patent/JP5032027B2/ja active Active
- 2006-01-11 CN CN2006100049935A patent/CN1828511B/zh active Active
- 2006-01-11 DE DE102006002526A patent/DE102006002526B4/de active Active
-
2009
- 2009-06-25 US US12/491,813 patent/US8159889B2/en active Active
-
2012
- 2012-03-14 US US13/419,673 patent/US8917565B2/en active Active
-
2014
- 2014-11-17 US US14/543,549 patent/US9223650B2/en active Active
-
2015
- 2015-12-27 US US14/979,457 patent/US9652324B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5969897A (en) * | 1994-03-28 | 1999-10-19 | Sony Corporation | Data recording apparatus and method |
EP0852766A1 (en) * | 1995-09-27 | 1998-07-15 | Memory Corporation plc | Memory systems |
CN1195853A (zh) * | 1997-01-21 | 1998-10-14 | 三星电子株式会社 | 传送高速数据的系统解码器和控制路径缓冲的方法 |
CN1199899A (zh) * | 1997-05-16 | 1998-11-25 | 冲电气工业株式会社 | 非易失性半导体磁盘装置 |
US6401149B1 (en) * | 1999-05-05 | 2002-06-04 | Qlogic Corporation | Methods for context switching within a disk controller |
Non-Patent Citations (1)
Title |
---|
US 6401149 B1,说明书第4栏第1行至第7栏第34行、图1至图3. |
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 |
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 |
CN1828511A (zh) | 2006-09-06 |
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 |
---|---|---|
CN1828511B (zh) | 固态盘控制器装置及操作方法 | |
US10949094B2 (en) | Storage device and operating method of storage device | |
US10031879B2 (en) | Memory device for a hierarchical memory architecture | |
US8473811B2 (en) | Multi-chip memory system and related data transfer method | |
US11416426B2 (en) | Memory device and method of operating the same | |
JP6163532B2 (ja) | メモリシステムコントローラを含む装置 | |
USRE46201E1 (en) | Method and controller for performing a sequence of commands | |
US20170123991A1 (en) | System and method for utilization of a data buffer in a storage device | |
KR101532863B1 (ko) | 메모리 시스템 제어기를 구비하는 장치 및 관련 방법 | |
US8885409B2 (en) | Non-volatile memory, method of operating the same, memory system including the same, and method of operating the system | |
JP2014515534A (ja) | メモリシステムコントローラを含む装置および関連する方法 | |
US11620050B2 (en) | Soft data compression for non-volatile memory | |
US9897650B2 (en) | Integrated circuit and storage device including integrated circuit | |
EP1488321A2 (en) | Obtaining data mask mapping information | |
KR20220069543A (ko) | 스토리지 장치, 스토리지 컨트롤러 및 이를 포함하는 스토리지 시스템 | |
US9954557B2 (en) | Variable width error correction | |
US11398288B1 (en) | Storage medium-assisted system interface training scheme |
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 |