RU2015151012A - Запоминающие системы и память с привязками - Google Patents
Запоминающие системы и память с привязками Download PDFInfo
- Publication number
- RU2015151012A RU2015151012A RU2015151012A RU2015151012A RU2015151012A RU 2015151012 A RU2015151012 A RU 2015151012A RU 2015151012 A RU2015151012 A RU 2015151012A RU 2015151012 A RU2015151012 A RU 2015151012A RU 2015151012 A RU2015151012 A RU 2015151012A
- Authority
- RU
- Russia
- Prior art keywords
- memory
- binding
- request
- block
- data
- Prior art date
Links
- 230000027455 binding Effects 0.000 claims 21
- 238000009739 binding Methods 0.000 claims 21
- 230000004044 response Effects 0.000 claims 7
- 238000000605 extraction Methods 0.000 claims 3
- 238000000034 method Methods 0.000 claims 2
Classifications
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- 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
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/21—Employing a record carrier using a specific recording technology
- G06F2212/214—Solid state disk
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)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
Claims (23)
1. Контроллер памяти, содержащий:
схему для доступа к данным в энергонезависимой памяти;
интерфейс, выполненный с возможностью принимать от драйвера файловой системы запрос на создание привязки между блоком памяти запоминающей системы и блоком памяти основной памяти, при этом блок памяти запоминающей системы предназначен для использования при хранении данных запоминающей системы, а блок памяти основной системы предназначен для использования применительно к основной памяти компьютера;
схему установления привязок, выполненную с возможностью создания привязки между блоком памяти запоминающей системы и блоком памяти основной памяти; и
схему извлечения, выполненную с возможностью получения данных из блока запоминающей системы в ответ на запрос считывания в отношении данных блока основной памяти, если привязка не разорвана,
при этом энергонезависимая память разделена на область файловой системы и область памяти, и при этом блок памяти запоминающей системы располагается в области файловой системы, а блок основной памяти располагается в области памяти.
2. Контроллер памяти по п.1, в котором схема установления привязок, будучи выполненной с возможностью создания привязки между блоком памяти запоминающей системы и блоком памяти основной памяти, выполнена с возможностью создавать привязку от каждого подблока блока памяти основной памяти к каждому соответствующему подблоку блока памяти запоминающей системы, и поддерживать каждую привязку до ее разрыва.
3. Контроллер памяти по п.1, в котором схема извлечения дополнительно выполнена с возможностью, в ответ на запрос считывания, получать первые данные из подблоков блока запоминающей системы, если привязки не были разорваны, и получать вторые данные из подблоков блока основной памяти, если привязки были разорваны, причем схема извлечения дополнительно выполнена с возможностью объединения первых данных и вторых данных для ответа на запрос считывания.
4. Контроллер памяти по п.1, в котором схема установления привязок дополнительно выполнена с возможностью разрыва привязки от первого подблока ко второму подблоку в ответ на запрос на запись в первый подблок или на запись во второй подблок.
5. Контроллер памяти по п.4, в котором схема установления привязок дополнительно выполнена с возможностью разрыва привязки от первого подблока ко второму подблоку после запроса на запись и непосредственно перед обслуживанием запроса на считывание из первого подблока.
6. Контроллер памяти по п.1, дополнительно содержащий схему копирования, выполненную с возможностью ответа на запрос на копирование блока основной памяти в новое местоположение, при этом схема копирования дополнительно выполнена с возможностью отвечать на запрос на копирование блока основной памяти в новое местоположение посредством оставления данных в блоке основной памяти и изменения элементов соответствия так, чтобы эти данные выдавались, когда они запрашиваются из упомянутого нового местоположения.
7. Контроллер памяти по п.1, дополнительно содержащий схему обнуления, выполненную с возможностью отвечать на запрос на обнуление запрошенного диапазона памяти, который включает в себя всю основную память или некоторую ее часть, при этом схема обнуления дополнительно выполнена с возможностью отвечать на запрос на обнуление запрошенного диапазона памяти посредством маркировки того, что запрошенный диапазон является обнуленным, и, впоследствии, в ответ на запрос считывания, который задействует запрошенный диапазон памяти, помещения нулей в кэш считывания.
8. Контроллер памяти по п.1, в котором схема установления привязок дополнительно выполнена с возможностью переустановления привязки блока с привязкой в ответ на запрос на перемещение этого блока с привязкой.
9. Способ, реализуемый, по меньшей мере, частично компьютером, при этом способ содержит этапы, на которых:
в интерфейсе контроллера памяти контроллера памяти, выполненного с возможностью доступа к энергонезависимой памяти, принимают от драйвера файловой системы запрос на создание привязки между блоком памяти запоминающей системы и блоком памяти основной памяти, при этом блок памяти запоминающей системы предназначен для использования при хранении данных запоминающей системы, а блок памяти основной системы предназначен для использования применительно к основной памяти компьютера;
обновляют схемную структуру для создания привязки между блоком памяти запоминающей системы и блоком памяти основной памяти; и
в ответ на запрос данных, каковой запрос указывает блок памяти основной памяти, предоставляют данные из блока памяти запоминающей системы,
при этом энергонезависимая память разделена на область файловой системы и область памяти, и при этом блок памяти запоминающей системы располагается в области файловой системы, а блок основной памяти располагается в области памяти.
10. Компьютерный носитель информации с исполняемыми компьютером инструкциями, которые при их исполнении выполняют действия, содержащие:
отправку, от драйвера файловой системы операционной системы, запроса в интерфейс контроллера памяти, который выполнен с возможностью доступа к энергонезависимой памяти, причем данным запросом запрашивается создание привязки между первым блоком памяти и вторым блоком памяти, при этом первый блок памяти предназначен для использования при хранении данных запоминающей системы, а второй блок памяти предназначен для использования применительно к основной памяти компьютера;
отправку, от драйвера файловой системы в контроллер памяти, запроса данных, каковой запрос указывает первый блок памяти; и
прием от контроллера памяти, в ответ на этот запрос данных, данных из второго блока памяти,
при этом энергонезависимая память разделена на область файловой системы и область памяти, и при этом блок памяти запоминающей системы располагается в области файловой системы, а блок основной памяти располагается в области памяти.
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361828636P | 2013-05-29 | 2013-05-29 | |
US61/828,636 | 2013-05-29 | ||
US14/036,298 | 2013-09-25 | ||
US14/036,298 US9678689B2 (en) | 2013-05-29 | 2013-09-25 | Storage systems and aliased memory |
PCT/US2014/039634 WO2014193862A2 (en) | 2013-05-29 | 2014-05-28 | Storage systems and aliased memory |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2015151012A true RU2015151012A (ru) | 2017-06-01 |
RU2669008C2 RU2669008C2 (ru) | 2018-10-05 |
Family
ID=51986493
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2015151012A RU2669008C2 (ru) | 2013-05-29 | 2014-05-28 | Запоминающие системы и память с привязками |
Country Status (8)
Country | Link |
---|---|
US (2) | US9678689B2 (ru) |
EP (1) | EP3005126B1 (ru) |
JP (1) | JP6324494B2 (ru) |
CN (1) | CN105339909B (ru) |
BR (1) | BR112015029108B1 (ru) |
ES (1) | ES2865575T3 (ru) |
RU (1) | RU2669008C2 (ru) |
WO (1) | WO2014193862A2 (ru) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9678689B2 (en) * | 2013-05-29 | 2017-06-13 | Microsoft Technology Licensing, Llc | Storage systems and aliased memory |
US10049052B2 (en) * | 2014-10-27 | 2018-08-14 | Nxp Usa, Inc. | Device having a cache memory |
US9740414B2 (en) | 2015-10-29 | 2017-08-22 | Pure Storage, Inc. | Optimizing copy operations |
KR20170076878A (ko) * | 2015-12-24 | 2017-07-05 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US10210088B2 (en) | 2015-12-28 | 2019-02-19 | Nxp Usa, Inc. | Computing system with a cache invalidation unit, a cache invalidation unit and a method of operating a cache invalidation unit in a computing system |
US11237758B2 (en) * | 2016-08-06 | 2022-02-01 | Wolley Inc. | Apparatus and method of wear leveling for storage class memory using address cache |
US10387304B2 (en) * | 2017-12-28 | 2019-08-20 | Intel Corporation | Virtual transfer of data between memory and storage domains |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5119290A (en) * | 1987-10-02 | 1992-06-02 | Sun Microsystems, Inc. | Alias address support |
JPH05158782A (ja) * | 1991-12-06 | 1993-06-25 | Hitachi Ltd | 記憶装置 |
US6438672B1 (en) * | 1999-06-03 | 2002-08-20 | Agere Systems Guardian Corp. | Memory aliasing method and apparatus |
CN100442393C (zh) * | 1999-10-21 | 2008-12-10 | 松下电器产业株式会社 | 半导体存储卡的访问装置、初始化方法和半导体存储卡 |
US6625725B1 (en) * | 1999-12-22 | 2003-09-23 | Intel Corporation | Speculative reuse of code regions |
GB2372589B (en) * | 2001-02-21 | 2003-01-22 | 3Com Corp | Memory aliasing in a processor system |
US7900017B2 (en) * | 2002-12-27 | 2011-03-01 | Intel Corporation | Mechanism for remapping post virtual machine memory pages |
JP2004362464A (ja) * | 2003-06-06 | 2004-12-24 | Sony Corp | 不揮発メモリを利用したコンピュータシステム |
US20050138307A1 (en) * | 2003-12-18 | 2005-06-23 | Grimsrud Knut S. | Storage performance improvement using data replication on a disk |
US20110029723A1 (en) | 2004-08-06 | 2011-02-03 | Super Talent Electronics, Inc. | Non-Volatile Memory Based Computer Systems |
US8417915B2 (en) * | 2005-08-05 | 2013-04-09 | Arm Limited | Alias management within a virtually indexed and physically tagged cache memory |
US7872657B1 (en) * | 2006-06-16 | 2011-01-18 | Nvidia Corporation | Memory addressing scheme using partition strides |
US7747817B2 (en) * | 2006-06-28 | 2010-06-29 | Unity Semiconductor Corporation | Performing data operations using non-volatile third dimension memory |
JP4783229B2 (ja) * | 2006-07-19 | 2011-09-28 | パナソニック株式会社 | キャッシュメモリシステム |
JP2009009665A (ja) * | 2007-06-29 | 2009-01-15 | Elpida Memory Inc | 半導体記憶装置 |
US8074034B2 (en) * | 2007-07-25 | 2011-12-06 | Agiga Tech Inc. | Hybrid nonvolatile ram |
US7855916B2 (en) | 2007-10-24 | 2010-12-21 | Rao G R Mohan | Nonvolatile memory systems with embedded fast read and write memories |
US8250282B2 (en) * | 2009-05-14 | 2012-08-21 | Micron Technology, Inc. | PCM memories for storage bus interfaces |
US8412987B2 (en) * | 2009-06-30 | 2013-04-02 | Micron Technology, Inc. | Non-volatile memory to store memory remap information |
US20130033957A1 (en) * | 2011-08-04 | 2013-02-07 | Spar Food Machinery Manufacturing Co., Ltd. | Stirrer having Programmable Stirring Mode Control |
WO2013048483A1 (en) * | 2011-09-30 | 2013-04-04 | Intel Corporation | Platform storage hierarchy with non-volatile random access memory having configurable partitions |
KR101692417B1 (ko) * | 2011-12-29 | 2017-01-05 | 인텔 코포레이션 | 다이렉트 액세스를 갖는 다중-레벨 메모리 |
US9552176B2 (en) | 2013-04-12 | 2017-01-24 | Microsoft Technology Licensing, Llc | Block storage using a hybrid memory device |
US9678689B2 (en) * | 2013-05-29 | 2017-06-13 | Microsoft Technology Licensing, Llc | Storage systems and aliased memory |
-
2013
- 2013-09-25 US US14/036,298 patent/US9678689B2/en active Active
-
2014
- 2014-05-28 JP JP2016516745A patent/JP6324494B2/ja active Active
- 2014-05-28 EP EP14802963.0A patent/EP3005126B1/en active Active
- 2014-05-28 BR BR112015029108-2A patent/BR112015029108B1/pt active IP Right Grant
- 2014-05-28 RU RU2015151012A patent/RU2669008C2/ru active
- 2014-05-28 WO PCT/US2014/039634 patent/WO2014193862A2/en active Application Filing
- 2014-05-28 CN CN201480030762.4A patent/CN105339909B/zh active Active
- 2014-05-28 ES ES14802963T patent/ES2865575T3/es active Active
-
2017
- 2017-05-30 US US15/608,690 patent/US10216437B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016524228A (ja) | 2016-08-12 |
US20140359203A1 (en) | 2014-12-04 |
EP3005126A2 (en) | 2016-04-13 |
US9678689B2 (en) | 2017-06-13 |
US20170262207A1 (en) | 2017-09-14 |
WO2014193862A3 (en) | 2015-04-09 |
WO2014193862A2 (en) | 2014-12-04 |
US10216437B2 (en) | 2019-02-26 |
RU2669008C2 (ru) | 2018-10-05 |
BR112015029108A2 (pt) | 2017-07-25 |
ES2865575T3 (es) | 2021-10-15 |
JP6324494B2 (ja) | 2018-05-16 |
BR112015029108B1 (pt) | 2022-05-17 |
CN105339909A (zh) | 2016-02-17 |
CN105339909B (zh) | 2018-08-24 |
EP3005126B1 (en) | 2021-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2015151012A (ru) | Запоминающие системы и память с привязками | |
US10282132B2 (en) | Methods and systems for processing PRP/SGL entries | |
US8769232B2 (en) | Non-volatile semiconductor memory module enabling out of order host command chunk media access | |
KR101790913B1 (ko) | 플래시 메모리에 저장된 데이터의 추론적 프리페칭 | |
JP2018018557A5 (ru) | ||
JP2014179084A5 (ru) | ||
US10795599B2 (en) | Data migration method, host and solid state disk | |
US9678760B2 (en) | Memory card and storage system having authentication program and method for operating thereof | |
KR20120082218A (ko) | 파티션 정보를 기초로 호스트의 요청에 대한 처리 기법을 적응적으로 결정하는 스토리지 장치 및 상기 스토리지 장치의 동작 방법 | |
KR20170097609A (ko) | 압축된 데이터 백그라운드를 캐싱하는 장치, 시스템 및 방법 | |
JP2009276853A (ja) | フラッシュメモリ装置 | |
JP2014182832A5 (ja) | 格納装置、不揮発性格納装置及びその運営体系イメージプログラム方法 | |
JP2016524228A5 (ru) | ||
CN108132760B (zh) | 一种提升ssd读性能的方法及系统 | |
CN110457236A (zh) | 存储系统以及对存储系统执行和验证写保护的方法 | |
EP3142014B1 (en) | Method, device and user equipment for reading/writing data in nand flash | |
JP2014164769A5 (ru) | ||
JP2015507798A5 (ru) | ||
US20160342542A1 (en) | Delay destage of data based on sync command | |
CN105138481A (zh) | 存储数据的处理方法、装置和系统 | |
JP2017518574A5 (ru) | ||
US20180011660A1 (en) | Write tracking for memories | |
US20140219041A1 (en) | Storage device and data processing method thereof | |
US10140055B2 (en) | Ensuring that memory device actions are valid using reference values | |
JP2013235531A5 (ru) |