Consistency without ordering dependency
Abstract
one. Way implemented at least, partially, computer moreover, the method comprises: obtaining one or more indications of objects, that are involved in the transaction; locating the first set of storage locations for objects, that are involved in the transaction; creating logical copies of objects, which are modified in the context of the transaction; defining a second set of storage locations for logical copies; creating an association, which links logical copies of objects in an elementary block; and sending one or more requests to record the association and logical copies in the repository, in the same time, maintaining the originals of these objects in the repository. 2. The method of claim 1, wherein each storage location in the second set of locations is different from each storage location in the first set, and wherein creating logical copies of objects comprises creating copies of parts of objects that are modified during a transaction. The method of claim 1, wherein creating an association that links logical copies of objects in an elementary block comprises creating a link between pairs of logical copies, each link including a hash value indicating the correct contents of at least one of the logical copies of these pairs. 4. The method according to claim 1, wherein sending one or more requests to write an association and logical copies comprises sending one or more requests to write a data structure that indicates each storage location for logical copies, one or more requests to write all but one of the logical copies to the storage , and the expectation that
Term
No projected expiry on record.
- Priority
- Filed
- Published
- Today
51 claims: 39 independent, 12 dependent
- 1A method implemented at least in part on a computer, the method comprising:1. Способ, реализованный, по меньшей мере, частично, компьютером, причем способ содержит:
- 2The receiving indications of one or more objects that are involved in the transaction;2. получение одной или более индикаций объектов, которые вовлечены в транзакцию;
- 3The determination of the location of the first set of storage locations for storing objects that are involved in the transaction;3. определение местоположения первого набора местоположений хранения хранилища для объектов, которые вовлечены в транзакцию;
- 4The creation of logical copies of objects that have been modified in the context of a transaction;4. создание логических копий объектов, которые модифицированы в контексте транзакции;
- 5The definition of the second set of storage locations for storing logical copies;5. определение второго набора местоположений хранения хранилища для логических копий;
- 6The creation of an association that links logical copies of objects in the elementary block;and 6. создание ассоциации, которая связывает логические копии объектов в элементарном блоке;и
- 7sending one or more requests, and logical association record copy in the store at the same time maintaining the original in the storage of these objects. 7. посылку одного или более запросов записать ассоциацию и логические копии в хранилище, в то же время, поддерживая оригиналы этих объектов в хранилище.
- 13obtain first data structure which indicates the last known correct storage locations of objects in nonvolatile storage;13. получение первой структуры данных, которая указывает последние известные правильные местоположения хранения объектов в энергонезависимом хранилище;
- 14receipt of another data structure that indicates the storage location of the non-volatile storage, where logical copies were planned to save, the other data structure also specifies a first set of hash values that indicate the correct contents of logical copies;14. получение другой структуры данных, которая указывает местоположения хранения энергонезависимого хранилища, где логические копии были запланированы для сохранения, причем другая структура данных также указывает первый набор хэш-значений, указывающих правильное содержимое логических копий;
- 15Read the contents located in the storage locations;15. считывание содержимого, расположенного в местоположениях хранения;
- 16вычисление второго набора хэш-значений содержимого;Calculating a second set 16. The contents of the hash values;
- 17If the respective elements of the first set and second hash values are equivalent, the first update of the data structure to indicate that the copies stored in the logical storage locations;and 17. если соответствующие элементы первого и второго набора хэш-значений эквивалентны, обновление первой структуры данных, чтобы указывать, что логические копии сохранены в местоположениях хранения;и
- 18If any of the corresponding elements of the first and second set of hash values are not equivalent, the completion of recovery actions. 18. если любой из соответствующих элементов первого и второго набора хэш-значений не эквивалентен, завершение действия восстановления.
- 20an indication that the storage locations associated with the original objects are available for use, and 20. указание, что местоположения хранения, ассоциированные с оригиналами объектов, доступны для использования, и
- 21indication that the storage location associated with the logical copies are valid after a successful recording of all logical group copies in non-volatile memory storage. 21. указание, что местоположения хранения, ассоциированные с логическими копиями, являются действительными после успешной групповой записи всех логических копий в энергонезависимую память хранилища.
- 228. A computer storage medium having computer-executable instructions that, when executed, perform actions, comprising:8. Компьютерный носитель данных, имеющий выполняемые компьютером инструкции, которые, когда выполняются, выполняют действия, содержащие:
- 23receipt indication object involved in an update of one or more transactions;23. получение индикации объекта, вовлеченного в обновление одной или более транзакций;
- 24The object position determination in the first storage location of storage;24. определение местоположения объекта в первом местоположении хранения хранилища;
- 25The creation of a logical copy of the object, which includes changes made in the object in the context of one or more transactions;25. создание логической копии объекта, которая включает в себя изменения, сделанные в объекте в контексте одной или более транзакций;
- 26The definition of the second warehouse storage location to store a copy of the logical;26. определение второго местоположения хранения хранилища для того, чтобы хранить логическую копию;
- 27The request to write the package as a logical copy of the modified second storage location;27. посылку запроса записать логическую копию как модифицированную во второе местоположение хранения;
- 28in connection with the sending of the request, providing data that indicate the next location where a logical copy must be written, pertaining to another transaction, if any, is available;and 28. в соединении с посылкой запроса, обеспечение данных, которые указывают следующее местоположение, в которое должна быть записана логическая копия, имеющая отношение к другой транзакции, если таковая вообще имеется;и
- 29The variable data structures updated to indicate that the logical copy stored in the second storage location. 29. обновление изменяемой структуры данных, чтобы указывать, что логическая копия сохранена во втором местоположении хранения.
- 33The positioning of the head of the linked list, each element of the linked list associated with a logical copy of which should be written in the storage location specified linked list;33. определение местоположения головы связанного списка, причем каждый элемент связанного списка ассоциирован с логической копией, которая должна была быть записана в местоположение хранилища, заданное связанным списком;
- 34iterating on the linked list, the linked list until the item is not associated with a logical copy of which was not recorded in the location associated with that element;and 34. выполнение итераций по связанному списку, пока элемент связанного списка не будет ассоциирован с логической копией, которая не была записана в местоположение, ассоциированное с этим элементом;и
- 3535 in conjunction with performing iterations on the linked list for each element for which a logical copy was written to the location specified by said element, update the data structure to indicate a new location for the object associated with the logical copy. 35. в соединении с выполнением итераций по связанному списку для каждого элемента, для которого логическая копия была записана в местоположение, заданное упомянутым элементом, обновление структуры данных, чтобы указывать новое местоположение для объекта, ассоциированного с логической копией.
- 3612. In a computing environment, the system comprising:12. В вычислительной среде, система, содержащая:
- 37The interface configured to receive a request to modify the object involved in the transaction;37. интерфейс, выполненный с возможностью принимать запрос модифицировать объект, вовлеченный в транзакцию;
- 38The vault having a nonvolatile memory and a volatile memory therein;38. хранилище, имеющее энергонезависимую память и энергозависимую память в нем;
- 39The storage controller, which potentially allows recording in non-volatile memory so that they occur in an order different from the order in which requests for records were taken;and 39. контроллер хранения, который потенциально разрешает записи в энергонезависимую память, чтобы они происходили в порядке, отличном от порядка, в котором были приняты запросы на записи;и
- 40The I / O manager, configured to perform actions, comprising:40. администратор ввода/вывода, выполненный с возможностью выполнять действия, содержащие:
- 41The definition of the object location in the first storage location of storage;41. определение местоположения объекта в первом местоположении хранения хранилища;
- 42The creation of a logical copy of the object, which includes changes made in the object in the context of a transaction;42. создание логической копии объекта, которая включает в себя изменения, сделанные в объекте в контексте транзакции;
- 43The definition of the second storage location for storing a logical storage copy;43. определение второго местоположения хранения хранилища для хранения логической копии;
- 44The request to write the package as a logical copy of the modified second storage location;and 44. посылку запроса записать логическую копию как модифицированную во второе местоположение хранения;и
- 45The variable data structures updated to indicate that the logical copy stored in the second storage location. 45. обновление изменяемой структуры данных, чтобы указывать, что логическая копия сохранена во втором местоположении хранения.
- 47The establishment of the association, which connects with said other object and said object;and 47. создание ассоциации, которая связывает вместе упомянутый другой объект и упомянутый объект;и
- 48in connection with the sending of the request to record a logical copy of a modified second storage location, the request package to record the association in memory controller. 48. в соединении с посылкой запроса записать логическую копию как модифицированную во второе местоположение хранения, посылку запроса записать ассоциацию в контроллер запоминающего устройства.
- 51Aspects of the subject matter described herein relate to maintaining consistency in a storage system. In aspects, one or more objects may be updated in the context of a transaction. In conjunction with updating the objects, logical copies of the objects may be obtained and modified. A request to write the updated logical copies is sent to a storage controller. The logical copies do not overwrite the original copies. In conjunction with sending the request, a data structure is provided for the storage controller to store on the disk. The data structure indicates the one or more objects that were supposed to be written to disk and may include verification data to indicate the content that was supposed to be written to disk. During recovery, this data structure may be used to determine whether all of the object (s) were correctly written to disk. 51. Aspects of the subject matter described herein relate to maintaining consistency in a storage system. In aspects, one or more objects may be updated in the context of a transaction. In conjunction with updating the objects, logical copies of the objects may be obtained and modified. A request to write the updated logical copies is sent to a storage controller. The logical copies do not overwrite the original copies. In conjunction with sending the request, a data structure is provided for the storage controller to store on the disk. The data structure indicates the one or more objects that were supposed to be written to disk and may include verification data to indicate the content that was supposed to be written to disk. During recovery, this data structure may be used to determine whether all of the object(s) were correctly written to disk.
Independent claims39
23 members in 9 offices
Priority claims7
| Document | Office | Kind | Date |
|---|---|---|---|
| 12635725 | United States of America | – | |
| 63572509 | United States of America | A | |
| 2010056311 | United States of America | W | |
| 12635725 | – | – | – |
| US2010056311 | – | – | – |
| US20090635725 | – | – | – |
| WO2010US56311 | – | – | – |
Members23
| Document | Office | Kind | |
|---|---|---|---|
| CA2780003A1 | Canada | A1 | |
| US2011145527A1 | United States of America | A1 | |
| WO2011071656A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2011071656A3 | World Intellectual Property Organization (WIPO) | A3 | |
| AU2010328591A1 | Australia | A1 | |
| CN102667720A | China | A | |
| KR20120104302A | Republic of Korea | A | |
| EP2510434A2 | European Patent Office (EPO) | A2 | |
| JP2013513862A | Japan | A | |
| US8433865B2 | United States of America | B2 | |
| US2013311733A1 | United States of America | A1 | |
| RU2012129205AThis record | Russian Federation | A | |
| AU2010328591B2 | Australia | B2 | |
| JP5628341B2 | Japan | B2 | |
| US8996829B2 | United States of America | B2 | |
| US2015199143A1 | United States of America | A1 | |
| RU2560786C2 | Russian Federation | C2 | |
| CN102667720B | China | B | |
| US9430160B2 | United States of America | B2 | |
| KR101690824B1 | Republic of Korea | B1 | |
| EP2510434A4 | European Patent Office (EPO) | A4 | |
| CA2780003C | Canada | C | |
| EP2510434B1 | European Patent Office (EPO) | B1 |
2 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| The patent is invalid due to non-payment of feesMM4A | MM4A | |
| Changing address for correspondence with an applicantHZ9A | HZ9A |
Numbers
- Publication
- 2012129205
- Publication, DOCDB
- 2012129205
- Publication, EPODOC
- RU2012129205
- Application
- 201212920508
- Application, DOCDB
- 2012129205
- Application, EPODOC
- RU20120129205
Titles2
- English
- CORRECTNESS WITHOUT DEPENDING ON ORDERING
- Russian
- ???????????? ??? ??????????? ?? ???????????????
Classification
- CPC, 6
- G06F3/0619
- G06F3/0614
- G06F3/065
- G06F3/067
- G06F3/0683
- G06F9/466