JP5872560B2 - 高速メモリ・システム - Google Patents
高速メモリ・システム Download PDFInfo
- Publication number
- JP5872560B2 JP5872560B2 JP2013530377A JP2013530377A JP5872560B2 JP 5872560 B2 JP5872560 B2 JP 5872560B2 JP 2013530377 A JP2013530377 A JP 2013530377A JP 2013530377 A JP2013530377 A JP 2013530377A JP 5872560 B2 JP5872560 B2 JP 5872560B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- flash
- input
- dma
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- 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/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- 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
- 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/1012—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 using codes or arrangements adapted for a specific type of error
- G06F11/1016—Error in accessing a memory location, i.e. addressing error
-
- 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
- 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/1072—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 multilevel memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1663—Access to shared memory
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- 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/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
-
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1072—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7208—Multiple device management, e.g. distributing data over multiple flash devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0038—System on Chip
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Bus Control (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Information Transfer Systems (AREA)
Description
前記制御装置は:
(a)第一及び第二の複数の入力処理ブロックにそれぞれ接続された第一の多重チャンネル・バッファー及び第二の多重チャンネル・バッファーであって、それぞれの多重チャンネル・バッファーは、並列フォーマットのコマンド、命令及び/又はデータを表すビットを前記第一及び第二の複数の入力処理ブロックからそれぞれ受け取り、及びコマンド、命令及び/又はデータを表すビットから所定の数のワードを構築するために構成されており、それぞれのワードは所定の数のビットから成っている、第一の多重チャンネル・バッファー及び第二の多重チャンネル・バッファーを含み、
(b)第一のエラー修正及びデータ保護回路、及び第二のエラー修正及びデータ保護回路であって、前記第一及び第二の多重チャンネル・バッファーにそれぞれ接続され、前記第一及び第二のエラー修正及びデータ保護回路は、前記第一及び第二の多重チャンネル・バッファーからのワードを、それぞれ受け取り、前記ワードを用いる1つ以上のエラー修正コードのビットを生成させ、それぞれのワードのための前記エラー修正コードのビットを前記ワードに加え、及びそれぞれのワードを、そのワードに加えられたエラー修正コードのビットとともに出力するために構成されている、第一のエラー修正及びデータ保護回路、及び第二のエラー修正及びデータ保護回路を含み;
(c)第一及び第二の修正及びデータ保護回路にそれぞれ接続された、第一の出力バッファー及び第二の出力バッファーであって、前記第一及び第二の出力バッファーは、第一及び第二のエラー修正及びデータ保護回路の1つからの第一のワードが、第一及び第二の出力バッファーの1つに提供され、及び第一及び第二のエラー修正及びデータ保護回路の別の1つからの次のワードが、第一及び第二の出力バッファーの別の1つに提供されることができるように、順々に第一及び第二のエラー修正及びデータ保護回路からの、前記エラー修正コードビットが加えられたワードを受け取るために構成されている、第一の出力バッファー及び第二の出力バッファーを含み、並びに
(d)メモリ・バッファーであって、前記エラー修正コードのビットが加えられたワードを、前記第一及び第二の出力バッファーから受け取り、及び前記所定の数のワードを所定の方式によって、スーパーワードを形成するために組み合わせるために構成されている、メモリ・バッファーとを特に含む。
図1の入出力モジュールは、多くの形態をとることができる。好適な入出力モジュールの1つの例示的な実施態様が図2に提供されている。
上述したように、本開示のシステム中のそれぞれのクロスバー・モジュールの全体的な一般的機能は:(a)前記入出力モジュールからDMA要求を受け取り、及びそれらのDMA要求(加えて、付随するデータ・ペイロード)を、クロスバー・モジュールに接続された、適切なメモリ・カードに提供すること、並びに(b)取り出されたデータをクロスバー・モジュールに接続されたメモリ・カードから受け取り、及び取り出されたデータ(及び潜在的ないくつかの情報)を、取り出しデータに関連付けられえた前記入出力モジュールに提供することである。
開示されたシステムで用い得るメモリ・カードは多くの形態をとり得る。さまざまな種類のランダムアクセスメモリ(DDR RAM、DDR2 RAM、DDR3 RAMなどの)及びさまざまな種類のフラッシュ・メモリ(MLCフラッシュ・メモリ及びSLCフラッシュ・メモリなどを含む)を含むさまざまなメモリを使うことができる。メモリ・カードの構造も、部分的には使用されるメモリに応じて変更できる。
上述のシステム100では、クロスバー・モジュールは、シリアル形式で伝送されたデータ関連要求を受け取り、及びそれらの要求を、メモリ・カードに提供される並列形式の要求に変換するために用いられる。クロスバー・モジュールが除去され、及び前期データ関連要求が、シリアル形式で直接前記入出力モジュールからメモリ・カードに伝送される代替的な実施態様が想起される。
一般に前記競合制御・モジュール1504は、READ要求を優先し、及び以下で説明する条件が満たされない限り、さまざまな入出力インターフェース・モジュールのために、READ要求バッファー中のREAD要求を先着順の原理で処理する。
メモリ制御装置802が物理RAMメモリへ、又は物理RAMメモリからデータを移転するために使用できるさまざまなアプローチ及び方法がある。一実施態様では、前記制御装置802は、競合制御・モジュール1504からコマンド情報をデータ転送のタイミングを制御する開始インジケーターとともに受け取るDDR3メモリ制御モジュールとして機能するか、又はDDR3メモリ制御モジュールを含むことができる。一般に競合制御・モジュール1504から提供されるこのコマンド情報は、以下のものを含むことができる:競合制御の目的で用いられるバッファーに記憶された同じ情報、すなわち、ターゲット・アドレス、及びより具体的には、移転のための開始アドレス;移転されるべきデータの量の識別子、これはワード・カウントであってよい;及び移転方向。メモリ制御モジュールとして作用する前記制御装置802は、次いで、TARGET ADDRESS(開始アドレス)により指示されたときに、適切なメモリ・チップを活性化する。
Claims (7)
- 高速シリアル通信を有するフラッシュ・ベースのメモリ・システムであって:
複数の入出力モジュールであり、それぞれの入出力モジュールは1つ以上の外部通信リンクを通じて、外部デバイスと通信するように構成されている複数の入出力モジュール;
複数のフラッシュ・ベースのメモリ・カードであって、それぞれのフラッシュ・ベースのメモリ・カードは複数のフラッシュ・メモリ素子を含み、それぞれのフラッシュ・メモリ素子は、ブロックに分割された物理メモリ・スペースを有し、それぞれのブロックは更にページに分割されており、それぞれのページは、その上でメモリ操作が遂行される、個別にアドレス可能なメモリロケーションを表し、多数のそのようなメモリロケーションは、1ブロックのグルーピング内で、同時に消去可能である、それぞれの複数のフラッシュ・ベースのメモリ・カード;並びに
複数のクロスバー・スイッチング素子であって、それぞれのクロスバー・スイッチング素子は、フラッシュ・ベースのメモリ・カードのそれぞれの1つと接続され、及び前記入出力モジュールのそれぞれの1つが、フラッシュ・ベースのメモリ・カードのそれぞれの1つと通信することが可能なように構成されている、複数のクロスバー・スイッチング素子とを含み、
それぞれの入出力モジュールは、それぞれのクロスバー・スイッチング素子と、高速シリアル通信リンクにより接続され、それぞれの高速シリアル通信リンクは、それぞれの入出力モジュールが、それぞれのクロスバー・スイッチング素子への、及びクロスバー・スイッチング素子からのコマンド、命令、及び/又はデータを表すビットを送受信することを可能にし、並びにそれぞれのクロスバー・スイッチング素子は、フラッシュ・ベースのメモリ・カードのそれぞれの1つに、複数の並列通信リンクにより接続され、それぞれの並列通信リンクは、1つのクロスバー・スイッチング素子を、フラッシュ・ベースのメモリ・カードのそれぞれの1つのフラッシュ・メモリ素子の1つと接続している、フラッシュ・ベースのメモリ・システム。 - 入出力モジュールから送信されるコマンド、命令、及び/又はデータを表す前記ビットが、読み出し−修正−書き込みを含むDMA要求を含む直接メモリ・アクセス(DMA)要求の一部である、請求項1に記載のフラッシュ・ベースのメモリ・システム。
- 前記入出力モジュールが、以下のプロトコル:ファイバー・チャンネル(Fibre Channel)、インフィニバンド(InfiniBand)、イーサーネット(Ethernet)、及び前面パネル・データ・ポート(Front Panel Data Port)のうちの1つを含む高速通信プロトコルを用いる1つ以上の外部通信リンクを通じて、外部デバイスと通信するために構成されている請求項1に記載のフラッシュ・ベースのメモリ・システム。
- それぞれの前記入出力モジュールが、高速通信プロトコルを用いる1つ以上の外部通信リンクを通じて、前記入出力モジュールが外部デバイスと通信可能とするために構成された高速インターフェースを含む、請求項3に記載のフラッシュ・ベースのメモリ・システム。
- それぞれの前記入出力モジュールが、更に複数のマルチ・ギガビット・トランシーバーを有する高速制御装置を含み、1つの前記マルチ・ギガビット・トランシーバーは前記入出力モジュールに接続されたそれぞれの高速シリアル通信リンクのためであり、それぞれの前記入出力モジュールは、前記マルチ・ギガビット・トランシーバーを用いて、それぞれの前記クロスバー・スイッチング素子との間のコマンド、命令及び/又はデータを表すビットを送受信するために構成される、請求項4に記載のフラッシュ・ベースのメモリ・システム。
- それぞれの前記入出力モジュールが、更にCPU及び共有スイッチング素子を含み、この共有スイッチング素子は、CPU、1つ以上の外部通信リンクを介する外部デバイス、及び前記マルチ・ギガビット・トランシーバーの間の通信を規制するために構成されている、請求項5に記載のフラッシュ・ベースのメモリ・システム。
- それぞれの前記クロスバー・スイッチング素子が、複数のマルチ・ギガビット・トランシーバーを有する高速制御装置を含み、それぞれの高速シリアル通信リンクのための1つの前記マルチ・ギガビット・トランシーバーは前記クロスバー・スイッチング素子に接続され、それぞれの前記クロスバー・スイッチング素子は、前記マルチ・ギガビット・トランシーバーを用いて、それぞれの前記入出力モジュールとの間のコマンド、命令及び/又はデータを表すビットを送受信するために構成される、請求項1に記載のフラッシュ・ベースのメモリ・システム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US38623710P | 2010-09-24 | 2010-09-24 | |
US61/386,237 | 2010-09-24 | ||
PCT/US2011/053129 WO2012040649A2 (en) | 2010-09-24 | 2011-09-23 | High-speed memory system |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2014501950A JP2014501950A (ja) | 2014-01-23 |
JP2014501950A5 JP2014501950A5 (ja) | 2016-01-14 |
JP5872560B2 true JP5872560B2 (ja) | 2016-03-01 |
Family
ID=45871943
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013530377A Expired - Fee Related JP5872560B2 (ja) | 2010-09-24 | 2011-09-23 | 高速メモリ・システム |
Country Status (6)
Country | Link |
---|---|
US (4) | US8386887B2 (ja) |
JP (1) | JP5872560B2 (ja) |
CN (1) | CN103229155B (ja) |
DE (1) | DE112011103208T5 (ja) |
GB (1) | GB2513551B (ja) |
WO (1) | WO2012040649A2 (ja) |
Families Citing this family (69)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8959307B1 (en) | 2007-11-16 | 2015-02-17 | Bitmicro Networks, Inc. | Reduced latency memory read transactions in storage devices |
US8665601B1 (en) | 2009-09-04 | 2014-03-04 | Bitmicro Networks, Inc. | Solid state drive with improved enclosure assembly |
US8447908B2 (en) | 2009-09-07 | 2013-05-21 | Bitmicro Networks, Inc. | Multilevel memory bus system for solid-state mass storage |
US8560804B2 (en) | 2009-09-14 | 2013-10-15 | Bitmicro Networks, Inc. | Reducing erase cycles in an electronic storage device that uses at least one erase-limited memory device |
US8386887B2 (en) * | 2010-09-24 | 2013-02-26 | Texas Memory Systems, Inc. | High-speed memory system |
US8949509B2 (en) * | 2010-12-06 | 2015-02-03 | OCZ Storage Solutions Inc. | Mass storage systems and methods using solid-state storage media and ancillary interfaces for direct communication between memory cards |
US8446170B2 (en) * | 2011-05-05 | 2013-05-21 | Actel Corporation | FPGA RAM blocks optimized for use as register files |
US9065644B2 (en) * | 2011-06-23 | 2015-06-23 | Futurewei Technologies, Inc. | Full duplex transmission method for high speed backplane system |
US9372755B1 (en) | 2011-10-05 | 2016-06-21 | Bitmicro Networks, Inc. | Adaptive power cycle sequences for data recovery |
US9740439B2 (en) * | 2011-12-23 | 2017-08-22 | International Business Machines Corporation | Solid-state storage management |
US9043669B1 (en) | 2012-05-18 | 2015-05-26 | Bitmicro Networks, Inc. | Distributed ECC engine for storage media |
US9665503B2 (en) | 2012-05-22 | 2017-05-30 | Xockets, Inc. | Efficient packet handling, redirection, and inspection using offload processors |
US20130318268A1 (en) | 2012-05-22 | 2013-11-28 | Xockets IP, LLC | Offloading of computation for rack level servers and corresponding methods and systems |
US20140089561A1 (en) | 2012-09-26 | 2014-03-27 | Kiran Pangal | Techniques Associated with Protecting System Critical Data Written to Non-Volatile Memory |
WO2014103144A1 (ja) * | 2012-12-28 | 2014-07-03 | パナソニック株式会社 | インタフェース装置、およびメモリバスシステム |
US9378161B1 (en) | 2013-01-17 | 2016-06-28 | Xockets, Inc. | Full bandwidth packet handling with server systems including offload processors |
WO2014113055A1 (en) | 2013-01-17 | 2014-07-24 | Xockets IP, LLC | Offload processor modules for connection to system memory |
US10025735B2 (en) * | 2013-01-31 | 2018-07-17 | Seagate Technology Llc | Decoupled locking DMA architecture |
US9423457B2 (en) | 2013-03-14 | 2016-08-23 | Bitmicro Networks, Inc. | Self-test solution for delay locked loops |
US9798688B1 (en) | 2013-03-15 | 2017-10-24 | Bitmicro Networks, Inc. | Bus arbitration with routing and failover mechanism |
US9672178B1 (en) | 2013-03-15 | 2017-06-06 | Bitmicro Networks, Inc. | Bit-mapped DMA transfer with dependency table configured to monitor status so that a processor is not rendered as a bottleneck in a system |
US9501436B1 (en) | 2013-03-15 | 2016-11-22 | Bitmicro Networks, Inc. | Multi-level message passing descriptor |
US9934045B1 (en) | 2013-03-15 | 2018-04-03 | Bitmicro Networks, Inc. | Embedded system boot from a storage device |
US9971524B1 (en) | 2013-03-15 | 2018-05-15 | Bitmicro Networks, Inc. | Scatter-gather approach for parallel data transfer in a mass storage system |
US9720603B1 (en) | 2013-03-15 | 2017-08-01 | Bitmicro Networks, Inc. | IOC to IOC distributed caching architecture |
US9639356B2 (en) | 2013-03-15 | 2017-05-02 | Qualcomm Incorporated | Arbitrary size table lookup and permutes with crossbar |
US9400617B2 (en) | 2013-03-15 | 2016-07-26 | Bitmicro Networks, Inc. | Hardware-assisted DMA transfer with dependency table configured to permit-in parallel-data drain from cache without processor intervention when filled or drained |
US10489318B1 (en) | 2013-03-15 | 2019-11-26 | Bitmicro Networks, Inc. | Scatter-gather approach for parallel data transfer in a mass storage system |
US9734067B1 (en) | 2013-03-15 | 2017-08-15 | Bitmicro Networks, Inc. | Write buffering |
US9875205B1 (en) * | 2013-03-15 | 2018-01-23 | Bitmicro Networks, Inc. | Network of memory systems |
US9858084B2 (en) | 2013-03-15 | 2018-01-02 | Bitmicro Networks, Inc. | Copying of power-on reset sequencer descriptor from nonvolatile memory to random access memory |
US9430386B2 (en) | 2013-03-15 | 2016-08-30 | Bitmicro Networks, Inc. | Multi-leveled cache management in a hybrid storage system |
US9519615B2 (en) * | 2013-04-09 | 2016-12-13 | Emc Corporation | Multiprocessor system with independent direct access to bulk solid state memory resources |
CN104424124B (zh) * | 2013-09-10 | 2018-07-06 | 联想(北京)有限公司 | 内存装置、电子设备和用于控制内存装置的方法 |
CN103645999A (zh) * | 2013-12-07 | 2014-03-19 | 天津光电通信技术有限公司 | 基于fpga实现8通道收发串口的高速板卡 |
US9639285B2 (en) * | 2014-03-13 | 2017-05-02 | Aupera Technologies, Inc. | Distributed raid in a flash based memory system |
US10078604B1 (en) | 2014-04-17 | 2018-09-18 | Bitmicro Networks, Inc. | Interrupt coalescing |
US10025736B1 (en) | 2014-04-17 | 2018-07-17 | Bitmicro Networks, Inc. | Exchange message protocol message transmission between two devices |
US10042792B1 (en) | 2014-04-17 | 2018-08-07 | Bitmicro Networks, Inc. | Method for transferring and receiving frames across PCI express bus for SSD device |
US9952991B1 (en) | 2014-04-17 | 2018-04-24 | Bitmicro Networks, Inc. | Systematic method on queuing of descriptors for multiple flash intelligent DMA engine operation |
US10055150B1 (en) | 2014-04-17 | 2018-08-21 | Bitmicro Networks, Inc. | Writing volatile scattered memory metadata to flash device |
US9747048B2 (en) * | 2014-06-02 | 2017-08-29 | Micron Technology, Inc. | Systems and methods for packing data in a scalable memory system protocol |
US10031860B2 (en) | 2014-09-24 | 2018-07-24 | Western Digital Technologies, Inc. | Memory transfer of objects in a data storage device |
US9851901B2 (en) | 2014-09-26 | 2017-12-26 | Western Digital Technologies, Inc. | Transfer of object memory references in a data storage device |
TWI553483B (zh) * | 2014-10-13 | 2016-10-11 | 瑞昱半導體股份有限公司 | 處理器及存取記憶體的方法 |
US10452557B2 (en) | 2015-01-28 | 2019-10-22 | Hitachi, Ltd. | Storage apparatus, computer system, and method for improved read operation handling |
JP5939323B1 (ja) | 2015-02-10 | 2016-06-22 | 日本電気株式会社 | 情報処理装置、情報処理方法、及び、プログラム |
KR102417182B1 (ko) | 2015-06-22 | 2022-07-05 | 삼성전자주식회사 | 데이터 저장 장치와 이를 포함하는 데이터 처리 시스템 |
JP6403162B2 (ja) * | 2015-07-23 | 2018-10-10 | 東芝メモリ株式会社 | メモリシステム |
US9577854B1 (en) | 2015-08-20 | 2017-02-21 | Micron Technology, Inc. | Apparatuses and methods for asymmetric bi-directional signaling incorporating multi-level encoding |
US10423354B2 (en) * | 2015-09-23 | 2019-09-24 | Advanced Micro Devices, Inc. | Selective data copying between memory modules |
WO2017072868A1 (ja) * | 2015-10-28 | 2017-05-04 | 株式会社日立製作所 | ストレージ装置 |
US10120749B2 (en) * | 2016-09-30 | 2018-11-06 | Intel Corporation | Extended application of error checking and correction code in memory |
KR20180092476A (ko) * | 2017-02-09 | 2018-08-20 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
US10164817B2 (en) | 2017-03-21 | 2018-12-25 | Micron Technology, Inc. | Methods and apparatuses for signal translation in a buffered memory |
US10552050B1 (en) | 2017-04-07 | 2020-02-04 | Bitmicro Llc | Multi-dimensional computer storage system |
US10705912B2 (en) * | 2017-06-07 | 2020-07-07 | Rambus Inc. | Energy efficient storage of error-correction-detection information |
US10216685B1 (en) * | 2017-07-19 | 2019-02-26 | Agiga Tech Inc. | Memory modules with nonvolatile storage and rapid, sustained transfer rates |
KR102504293B1 (ko) | 2017-11-29 | 2023-02-27 | 삼성전자 주식회사 | 패키지 온 패키지 형태의 반도체 패키지 |
US10515173B2 (en) * | 2017-12-29 | 2019-12-24 | Advanced Micro Devices, Inc. | Input-output processing on a remote integrated circuit chip |
CN109144943A (zh) * | 2018-06-26 | 2019-01-04 | 深圳市安信智控科技有限公司 | 基于高速串行通道互连的计算芯片与存储器芯片组合*** |
US10635610B1 (en) | 2019-03-14 | 2020-04-28 | Toshiba Memory Corporation | System and method for serial interface memory using switched architecture |
CN109933292B (zh) * | 2019-03-21 | 2023-06-09 | 深圳文脉国际传媒有限公司 | 存储器命令处理方法、终端及存储介质 |
CN110188066B (zh) * | 2019-05-07 | 2021-02-02 | 方一信息科技(上海)有限公司 | 一种针对大容量数据的FPGA和基于opencl的FPGA算法 |
TW202141290A (zh) | 2020-01-07 | 2021-11-01 | 韓商愛思開海力士有限公司 | 記憶體中處理(pim)系統和pim系統的操作方法 |
US11315611B2 (en) * | 2020-01-07 | 2022-04-26 | SK Hynix Inc. | Processing-in-memory (PIM) system and operating methods of the PIM system |
US11385837B2 (en) | 2020-01-07 | 2022-07-12 | SK Hynix Inc. | Memory system |
US20230205420A1 (en) * | 2021-12-29 | 2023-06-29 | Advanced Micro Devices, Inc. | Flexible memory system |
US20240220430A1 (en) * | 2023-01-04 | 2024-07-04 | Mercedes-Benz Group AG | System, device and/or method for processing direct memory access gather and scatter requests |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6438146B1 (en) | 1998-04-13 | 2002-08-20 | International Business Machines Corporation | Multiplexed asynchronous serial communication systems methods and computer program products |
US6609167B1 (en) | 1999-03-17 | 2003-08-19 | Adaptec, Inc. | Host and device serial communication protocols and communication packet formats |
US6148354A (en) | 1999-04-05 | 2000-11-14 | M-Systems Flash Disk Pioneers Ltd. | Architecture for a universal serial bus-based PC flash disk |
US6654831B1 (en) | 2000-03-07 | 2003-11-25 | International Business Machine Corporation | Using multiple controllers together to create data spans |
KR100462069B1 (ko) * | 2000-12-21 | 2004-12-17 | 엘지전자 주식회사 | 인터넷 텔레포니 게이트웨이 시스템에서 상태 관리 방법 |
ITVA20010035A1 (it) * | 2001-10-16 | 2003-04-16 | St Microelectronics Srl | Dispositivo di memoria non volatile con doppia interfaccia di comunicazione seriale/parallela |
JP2003124997A (ja) * | 2001-10-17 | 2003-04-25 | Fujitsu Ltd | パケット処理を行う伝送路終端装置 |
CA2366397A1 (en) * | 2001-12-31 | 2003-06-30 | Tropic Networks Inc. | An interface for data transfer between integrated circuits |
JP3815400B2 (ja) * | 2002-08-08 | 2006-08-30 | ソニー株式会社 | アダプタ装置 |
EP1424635B1 (en) * | 2002-11-28 | 2008-10-29 | STMicroelectronics S.r.l. | Non volatile memory device architecture, for instance a flash kind, having a serial communication interface |
US7109728B2 (en) * | 2003-02-25 | 2006-09-19 | Agilent Technologies, Inc. | Probe based information storage for probes used for opens detection in in-circuit testing |
US7000056B2 (en) * | 2003-03-28 | 2006-02-14 | Intel Corporation | Method and apparatus for detecting low pin count and serial peripheral interfaces |
US20040255054A1 (en) | 2003-06-10 | 2004-12-16 | Khein-Seng Pua | High-speed data transmission device |
US20050050237A1 (en) * | 2003-08-28 | 2005-03-03 | Jeddeloh Joseph M. | Memory module and method having on-board data search capabilities and processor-based system using such memory modules |
JP4080980B2 (ja) * | 2003-09-26 | 2008-04-23 | 三菱電機株式会社 | 電子制御装置 |
US7652922B2 (en) * | 2005-09-30 | 2010-01-26 | Mosaid Technologies Incorporated | Multiple independent serial link memory |
WO2007036050A1 (en) * | 2005-09-30 | 2007-04-05 | Mosaid Technologies Incorporated | Memory with output control |
US7360137B2 (en) * | 2006-05-04 | 2008-04-15 | Westell Technologies, Inc. | Flash programmer for programming NAND flash and NOR/NAND combined flash |
US7676729B2 (en) * | 2006-08-23 | 2010-03-09 | Sun Microsystems, Inc. | Data corruption avoidance in DRAM chip sparing |
US9058306B2 (en) * | 2006-08-31 | 2015-06-16 | Dell Products L.P. | Redundant storage enclosure processor (SEP) implementation for use in serial attached SCSI (SAS) environment |
US8794526B2 (en) * | 2007-06-04 | 2014-08-05 | Hand Held Products, Inc. | Indicia reading terminal processing plurality of frames of image data responsively to trigger signal activation |
JP4760778B2 (ja) * | 2007-06-11 | 2011-08-31 | Tdk株式会社 | フラッシュメモリシステム及び同システムに組み込まれるフラッシュメモリモジュール |
KR100934227B1 (ko) * | 2007-09-21 | 2009-12-29 | 한국전자통신연구원 | 개방형 시리얼 정합 방식을 이용한 메모리 스위칭 컨트롤장치, 그의 동작 방법 및 이에 적용되는 데이터 저장 장치 |
US8245101B2 (en) | 2007-12-27 | 2012-08-14 | Sandisk Enterprise Ip Llc | Patrol function used in flash storage controller to detect data errors |
US8386887B2 (en) * | 2010-09-24 | 2013-02-26 | Texas Memory Systems, Inc. | High-speed memory system |
-
2011
- 2011-09-23 US US13/244,074 patent/US8386887B2/en not_active Expired - Fee Related
- 2011-09-23 GB GB1304421.9A patent/GB2513551B/en active Active
- 2011-09-23 JP JP2013530377A patent/JP5872560B2/ja not_active Expired - Fee Related
- 2011-09-23 CN CN201180056676.7A patent/CN103229155B/zh not_active Expired - Fee Related
- 2011-09-23 DE DE112011103208T patent/DE112011103208T5/de not_active Withdrawn
- 2011-09-23 WO PCT/US2011/053129 patent/WO2012040649A2/en active Application Filing
-
2013
- 2013-02-04 US US13/758,093 patent/US8694863B2/en not_active Expired - Fee Related
-
2014
- 2014-04-01 US US14/242,532 patent/US9110831B2/en not_active Expired - Fee Related
-
2015
- 2015-08-17 US US14/827,566 patent/US9619419B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2014501950A (ja) | 2014-01-23 |
DE112011103208T5 (de) | 2013-10-02 |
GB2513551B (en) | 2018-01-10 |
US20120079352A1 (en) | 2012-03-29 |
GB201304421D0 (en) | 2013-04-24 |
US8386887B2 (en) | 2013-02-26 |
CN103229155A (zh) | 2013-07-31 |
GB2513551A (en) | 2014-11-05 |
US20140215290A1 (en) | 2014-07-31 |
US9110831B2 (en) | 2015-08-18 |
US20130145088A1 (en) | 2013-06-06 |
US9619419B2 (en) | 2017-04-11 |
WO2012040649A3 (en) | 2012-06-28 |
CN103229155B (zh) | 2016-11-09 |
US8694863B2 (en) | 2014-04-08 |
US20150356044A1 (en) | 2015-12-10 |
WO2012040649A2 (en) | 2012-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5872560B2 (ja) | 高速メモリ・システム | |
US9063561B2 (en) | Direct memory access for loopback transfers in a media controller architecture | |
US7877524B1 (en) | Logical address direct memory access with multiple concurrent physical ports and internal switching | |
US7660911B2 (en) | Block-based data striping to flash memory | |
US6401149B1 (en) | Methods for context switching within a disk controller | |
US7761642B2 (en) | Serial advanced technology attachment (SATA) and serial attached small computer system interface (SCSI) (SAS) bridging | |
US7412571B2 (en) | Memory arbitration system and method having an arbitration packet protocol | |
US7246191B2 (en) | Method and apparatus for memory interface | |
US7308523B1 (en) | Flow-splitting and buffering PCI express switch to reduce head-of-line blocking | |
US6715000B2 (en) | Method and device for providing high data rate for a serial peripheral interface | |
US20090024776A1 (en) | High data rate serial peripheral interface | |
WO2007005553A1 (en) | Serial ata port addressing | |
US20050186832A1 (en) | Dual port serial advanced technology attachment (SATA) disk drive | |
CN1098527A (zh) | 外部件互联为基础的计算机***的直接存储器存取逻辑支持 | |
US20030172224A1 (en) | DMA mechanism for high-speed packet bus | |
US20020184453A1 (en) | Data bus system including posted reads and writes | |
US6633927B1 (en) | Device and method to minimize data latency and maximize data throughput using multiple data valid signals | |
KR20050119677A (ko) | 기회적 판독 완료 결합 | |
US20220374369A1 (en) | Data bus communications | |
KR20020019437A (ko) | 디스크 제어장치의 메모리 구조에 대한 시스템 및 방법 | |
US20060015774A1 (en) | System and method for transmitting data in storage controllers | |
KR970011888B1 (ko) | 컴퓨터 시스템용 정보 처리 시스템 및 컴퓨터 시스템내의 데이타 전송 관리 방법 | |
JP2012178637A (ja) | 記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140910 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150812 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150908 |
|
A524 | Written submission of copy of amendment under article 19 pct |
Free format text: JAPANESE INTERMEDIATE CODE: A524 Effective date: 20151119 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20151215 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160113 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5872560 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |